DocType AR Receipt

From ADempiere ERP Wiki
Jump to navigationJump to search

RECEIVABLES: ACCOUNT RECEIVABLES can be a person or company etc. You already know that receivables arise from a variety of claims against customers and others, and are generally classified as current or non-current based on expectations about the amount of time it will take to collect them.Some times any company etc Sales on Credit. The majority of receivables are classified as trade receivables, which arise from the sale of products or services to customers. Such trade receivables are carried in the Accounts Receivable account. Non-trade receivables arise from other transactions and events, including advances to employees and utility company deposits.

Profile for Payment from Customer[edit]

The Payment from Customer (AR Receipt) is a document of base type AR Receipt. It can be issued from the functionality found at

 Menu -> Open Items -> Payment


Purpose of the AR Receipt[edit]

When in the whole business process it should be used and in what cases its use is specifically not appropriate?

 The functionality for the AR Receipt is used to issue such document for Sales Order and/or Invoice. 
 Its use is not necessary in the cases when the document has been generated automatically (e.g. by 
 POS Order).

Accounting consequences[edit]

  • How is the AR Receipt involved in the accounting processes, e.g. what accounts are debited and what accounts are credited through its use (if any)?

Accounts affected by AR Receipt
Movement Type Accounts and their meaning
Debit B_INTRANSIT_ACCT (11110 - Checking In-Transfer) -
Credit B_UNALLOCATEDCASH_ACCT (11130 - Checking Unallocated Receipts) -

  • How and where in the ADempiere's Client App those accounts can be changed (switched to another or complementary meanings)?

Place in the Documents Processing Chain[edit]

  • What other documents the AR Receipt generates if any?

Receipts do not generate other documents

Debugging the AR Receipt[edit]

  • What database tables hold the document's data?
 The main table for the Payments (where they are created and kept) is C_Payment. For the Payment 
 there are two auxiliary tables completing its functionality. They are: 
   * C_PaymentAllocate is where the connection between the Paymant and a corresponding Invoice 
     is described
   * C_AllocationLine is where the lines of the above allocation are kept

  • What Java classes and methods define the document's behavior?
    • The model class - this class extends the base model X_C_Payment, implements the DocAction and ProcessCall interfaces. It exploits one or more Payment Processors when there are any defined and used in the . The most interesting methods involved in the Invoice's Workflow (Process_Payment) are:
      • MPayment.processIt(String) -
      • MPayment.prepareIt() -
      • MPayment.completeIt() -
    • The posting class - this class extends the abstract class Doc with concrete implementations of the methods for accounting of documents.
      • - respoinsible for performing the posting of the document. It calls Doc_Payment.postLogic()
      • Doc_Payment.postLogic() - creates the actual account entries like this: