How Transaction Activities are Stored
This topic describes how Receivables stores transaction activities.
These transaction activities are:
-
Invoices and Debit Memos
-
Credit Memos
-
On-Account Credit Memos
-
Chargebacks
-
Adjustments
Invoices and Debit Memos
When you create an invoice or debit memo either manually or using AutoInvoice, Receivables creates records in the following tables:
-
RA_CUSTOMER_TRX
-
RA_CUSTOMER_TRX_LINES
-
RA_CUST_TRX_LINE_SALESREPS
-
RA_CUST_TRX_LINE_GL_DIST
-
AR_PAYMENT_SCHEDULES
Consider this sample invoice:
-
Invoice Number: I-101
-
Bill-to Customer: ABC Inc
-
Invoice Date: 22-May-11
-
Invoice Lines: 5
Item
Amount
Tax
Total Amount
10 chairs @ $200
$2,000
$160
$2,160
10 tables @ $300
$3,000
$240
$3,240
Freight
$1000
NA
$1000
TOTAL
NA
NA
$6400
The RA_CUSTOMER_TRX table stores information from Invoice I-101 as follows:
CUSTOMER_TRX_ID |
TRX_NUMBER |
BILL_TO_CUSTOMER_ID |
TRX_DATE |
---|---|---|---|
101467 |
I-101 |
ABC Inc |
22-May-11 |
The RA_CUSTOMER_TRX_LINES table stores information from Invoice I-101 as follows:
CUSTOMER_TRX_LINE_ID |
CUSTOMER_TRX_ID |
LINK_TO_CUST_TRX_LINE _ID |
LINE_TYPE |
EXTENDED_AMOUNT |
---|---|---|---|---|
100 |
101467 |
NA |
LINE |
2000 |
101 |
101467 |
100 |
TAX |
160 |
102 |
101467 |
NA |
LINE |
3000 |
103 |
101467 |
102 |
TAX |
240 |
104 |
101467 |
NA |
FREIGHT |
1000 |
The RA_CUST_TRX_LINE_SALESREPS table reflects the sales credits allotted to salespersons 1492, 1525, and 1624. The revenue and non-revenue amounts associated with the first line item of the invoice are split between salesperson 1492 and salesperson 1525. Salesperson 1624 gets the complete sales credit for the second line item of the invoice, while all three share the credit for the header level freight.
The RA_CUST_TRX_LINE_SALESREPS table stores information from Invoice I-101 as follows:
CUST_TRX_LINE_SALESREP_ID |
SALES_REP_ID |
CUSTOMER_TRX_LINE_ID |
REVENUE_AMOUNT_SPLIT |
NON_REVENUE_AMOUNT_SPLIT |
PREV_CUST_TRX_LINE _SALESREP_ID |
---|---|---|---|---|---|
140195 |
1492 |
100 |
1000 |
0 |
NULL |
140196 |
1525 |
100 |
1000 |
0 |
NULL |
140197 |
1492 |
101 |
0 |
80 |
NULL |
140198 |
1525 |
101 |
0 |
80 |
NULL |
140199 |
1624 |
102 |
3000 |
0 |
NULL |
140200 |
1624 |
103 |
0 |
240 |
NULL |
140201 |
1492 |
104 |
0 |
200 |
NULL |
140202 |
1525 |
104 |
0 |
200 |
NULL |
140203 |
1624 |
104 |
0 |
600 |
NULL |
The RA_CUST_TRX_LINE_GL_DIST table stores information from Invoice I-101 as follows:
CUST_TRX_LINE_GL_DIST_ID |
CODE_COMBINATION_ID |
CUSTOMER_TRX_LINE_ID |
ACCOUNT_CLASS |
AMOUNT |
---|---|---|---|---|
10866 |
01-1200-1000-3000 |
NA |
REC |
64000 |
10867 |
01-8100-1000-3000 |
100 |
REV |
2000 |
10868 |
01-4100-1000-3000 |
101 |
TAX |
160 |
10869 |
01-8200-1000-3000 |
102 |
REV |
3000 |
10870 |
01-4200-1000-3000 |
103 |
TAX |
240 |
10871 |
01-4400-1000-3000 |
104 |
FREIGHT |
1000 |
The AR_PAYMENT_SCHEDULES table reflects the current status of Invoice I-101. The invoice has a status of OP (open) and an amount_applied of NULL, because no payment has been applied against it. Once payment is received in full, the status will change to CL (closed), the amount_applied will change to 6400, and the amount_due_remaining will be zero.
The AR_PAYMENT_SCHEDULES table stores information from Invoice I-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE _REMAINING |
CUSTOMER_TRX_ID |
CASH_RECEIPT_ID |
TRX_NUMBER |
STATUS |
AMOUNT _APPLIED |
CLASS |
---|---|---|---|---|---|---|---|---|
30191 |
6400 |
6400 |
101467 |
NULL |
I-101 |
OP |
NULL |
INV |
Credit Memos
When you enter a credit memo against an invoice, Receivables creates records in the following tables:
-
RA_CUSTOMER_TRX
-
RA_CUSTOMER_TRX_LINES
-
RA_CUST_TRX_LINE_SALESREPS
-
RA_CUST_TRX_LINE_GL_DIST
-
AR_PAYMENT_SCHEDULES
-
AR_RECEIVABLE_APPLICATIONS
Consider a sample credit memo against line number 1 of Invoice I-101:
-
Credit Memo Number: CM-101
-
Bill-to Customer: ABC Inc
-
Credit Memo Date: 01-Jun-11
-
Credit Memo Amount: -1000
The RA_CUSTOMER_TRX table stores Credit Memo CM-101 as follows:
CUSTOMER_TRX_ID |
TRX_NUMBER |
BILL_TO_CUSTOMER_ID |
TRX_DATE |
PREVIOUS_CUSTOMER _TRX_ID |
---|---|---|---|---|
123456 |
CM-101 |
ABC Inc |
01-Jun-11 |
101467 |
The RA_CUSTOMER_TRX_LINES table stores Credit Memo CM-101 as follows:
CUSTOMER_TRX_LINE_ID |
CUSTOMER_TRX_ID |
LINK_TO_CUST_TRX_LINE_ID |
LINE_TYPE |
EXTENDED_AMOUNT |
PREVIOUS_CUSTOMER_TRX_ID |
PREVIOUS_CUSTOMER_TRX_LINE_ID |
---|---|---|---|---|---|---|
150 |
123456 |
NA |
LINE |
-926 |
101467 |
110100 |
151 |
123456 |
150 |
TAX |
-74 |
101467 |
NA |
The RA_CUST_TRX_LINE_SALESREPS table stores Credit Memo CM-101 as follows:
CUST_TRX_LINE_SALESREP_ID |
SALES_REP_ID |
CUSTOMER_TRX_LINE_ID |
REVENUE_AMOUNT_SPLIT |
NON_REVENUE_AMOUNT_SPLIT |
PREV_CUST_TRX_LINE _SALESREP_ID |
---|---|---|---|---|---|
150205 |
1492 |
100 |
-463 |
0 |
140195 |
150206 |
1525 |
100 |
-463 |
0 |
140196 |
150207 |
1492 |
101 |
0 |
-37 |
140197 |
150208 |
1525 |
101 |
0 |
-37 |
140198 |
The RA_CUST_TRX_LINE_GL_DIST table stores Credit Memo CM-101 as follows:
CUST_TRX_LINE_GL_DIST_ID |
CODE_COMBINATION_ID |
CUSTOMER_TRX_LINE_ID |
ACCOUNT_CLASS |
AMOUNT |
---|---|---|---|---|
150160 |
01-1200-1000-3000 |
NA |
REC |
-1000 |
150161 |
01-8100-1000-3000 |
150 |
REV |
-926 |
150162 |
01-4100-1000-3000 |
151 |
TAX |
-74 |
The AR_PAYMENT_SCHEDULES table stores Credit Memo CM-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE_REMAINING |
CUSTOMER_TRX_ID |
TRX_NUMBER |
STATUS |
AMOUNT_APPLIED |
CLASS |
AMOUNT_CREDITED |
---|---|---|---|---|---|---|---|---|
400100 |
-1000 |
0 |
123456 |
CM-101 |
CL |
-1000 |
CM |
NULL |
After applying the credit memo, the AR_PAYMENT_SCHEDULES table stores Invoice I-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE_REMAINING |
CUSTOMER_TRX_ID |
TRX_NUMBER |
STATUS |
AMOUNT_APPLIED |
CLASS |
AMOUNT_CREDITED |
---|---|---|---|---|---|---|---|---|
30191 |
6400 |
5400 |
101467 |
I-101 |
OP |
NULL |
INV |
-1000 |
The AR_RECEIVABLE_APPLICATIONS table stores Credit Memo CM-101 as follows:
RECEIVABLE_APPLICATION_ID |
AMOUNT_APPLIED |
STATUS |
PAYMENT_SCHEDULE_ID |
CUSTOMER_TRX_ID |
CASH_RECEIPT_ID |
APPLIED_PAYMENT_SCHEDULE_ID |
APPLIED_CUSTOMER_TRX_ID |
---|---|---|---|---|---|---|---|
400 |
1000 |
APP |
400100 |
123456 |
NULL |
30191 |
101467 |
Receivables uses the AR_RECEIVABLE_APPLICATIONS table to store the mapping of the credit memo to the invoice being credited. The payment_schedule_id and customer_trx_id columns contain the credit memo data, while the applied_payment_schedule_id and applied_customer_trx_id reference the original invoice. If the credit memo applies to an invoice with multiple payment schedules, a record is inserted into AR_RECEIVABLE_APPLICATIONS for each payment schedule of the invoice. The code_combination_id column, which isn't shown, stores the receivable account of the invoice. However, when the transaction is posted to the general ledger, it posts as two distributions. One entry is posted to the receivable account of the credit memo, as stored in the RA_CUST_TRX_LINE_GL_DIST table, and the other entry is posted to the receivable account of the invoice, as stored in the RA_CUST_TRX_LINE_GL_DIST table.
For a standard credit memo, the receivable account of the credit memo is debited, while the receivable account of the invoice is credited. Normally, the receivable accounts will be the same, but this process permits the flexibility of using a unique receivable account to record your credit memos.
On-Account Credit Memos
When you enter an on-account credit without a specific invoice reference, Receivables creates records in the following tables:
-
RA_CUSTOMER_TRX
-
RA_CUSTOMER_TRX_LINES
-
RA_CUST_TRX_LINE_GL_DIST
Consider a sample on-account credit applied to customer ABC Inc:
-
Transaction Number: OC-101
-
Bill-to Customer: ABC Inc
-
Transaction Date: 05-Jun-11
-
Credit Amount: -1000
The RA_CUSTOMER_TRX table stores On-Account Credit transaction number OC-101 as follows:
CUSTOMER_TRX_ID |
TRX_NUMBER |
ABC Inc BILL_TO_CUSTOMER_ID |
TRX_DATE |
PREVIOUS_CUSTOMER_TRX_ID |
---|---|---|---|---|
660108 |
OC-101 |
NA |
05-Jun-11 |
NULL |
The RA_CUSTOMER_TRX_LINES table stores On-Account Credit transaction number OC-101 as follows:
CUSTOMER_TRX_LINE_ID |
CUSTOMER_TRX_ID |
LINK_TO_CUST_TRX_LINE_ID |
LINE_TYPE |
EXTENDED_AMOUNT |
PREVIOUS_CUSTOMER_TRX_ID |
PREVIOUS_CUSTOMER_TRX_LINE_ID |
---|---|---|---|---|---|---|
170 |
660108 |
NA |
LINE |
-1000 |
NA |
NA |
If there had been a sales credit for this invoice, records relating to the revenue credit would be inserted in the RA_CUST_TRX_LINE_SALESREPS table, linked using the column customer_trx_line_id.
For on-account credits, Receivables inserts one record into the RA_CUSTOMER_TRX_LINES table. The total value of the credit is stored in the EXTENDED_AMOUNT column. The previous_customer_trx_line_id and previous_customer_trx_id columns are null because the credit doesn't apply to a specific invoice.
The RA_CUST_TRX_LINE_GL_DIST table stores On-Account Credit transaction number OC-101 as follows:
CUST_TRX_LINE_GL_DIST_ID |
CODE_COMBINATION_ID |
CUSTOMER_TRX_LINE_ID |
ACCOUNT_CLASS |
AMOUNT |
---|---|---|---|---|
210220 |
01-1200-1000-3000 |
NA |
REC |
-1000 |
210221 |
01-8100-1000-3000 |
170 |
REV |
-1000 |
Chargebacks
You create chargebacks to decrease the balance of an invoice and to create another debit item for the same amount. Receivables handles chargebacks the same as invoices, but also creates an adjustment to decrease the balance of the invoice.
Receivables uses the following tables to store chargeback information:
-
RA_CUSTOMER_TRX
-
RA_CUSTOMER_TRX_LINES
-
RA_CUST_TRX_LINE_GL_DIST
-
AR_ADJUSTMENTS
-
AR_PAYMENT_SCHEDULES
Consider again sample invoice I-101:
-
Invoice Number: I-101
-
Bill-to Customer: ABC Inc
-
Invoice Date: 22-May-11
-
Invoice Total: $6400
You receive a payment for $2000 on June 1, 2011, and decide to create chargeback CB-101 for the balance due of $4400.
The RA_CUSTOMER_TRX table stores CB-101 as follows:
CUSTOMER_TRX_ID |
TRX_NUMBER |
BILL_TO_CUSTOMER_ID |
TRX_DATE |
---|---|---|---|
765432 |
CB-101 |
ABC Inc |
01-Jun-11 |
The RA_CUSTOMER_TRX_LINES table stores CB-101 as follows:
CUSTOMER_TRX_LINE_ID |
CUSTOMER_TRX_ID |
LINK_TO_CUST_TRX_LINE_ID |
LINE_TYPE |
EXTENDED_AMOUNT |
---|---|---|---|---|
711 |
765432 |
NA |
CB |
4400 |
Receivables creates one record in RA_CUSTOMER_TRX_LINES for the chargeback with a line_type of CB and the EXTENDED_AMOUNT equal to the balance of the invoice.
The RA_CUST_TRX_LINE_GL_DIST table stores CB-101 as follows:
CUST_TRX_LINE_GL_DIST_ID |
CODE_COMBINATION_ID |
CUSTOMER_TRX_LINE_ID |
ACCOUNT_CLASS |
AMOUNT |
---|---|---|---|---|
660116 |
01-1200-1000-3000 |
NULL |
REC |
4400 |
660117 |
01-8100-1000-3000 |
711 |
REV |
4400 |
Receivables inserts two records into the RA_CUST_TRX_LINE_GL_DIST table. The code_combination_id of the REC record stores the receivable account distribution for the chargeback. The code_combination_id of the REV record stores the revenue account distribution for the chargeback.
The AR_ADJUSTMENTS table stores CB-101 as follows:
ADJUSTMENT_ID |
AMOUNT |
CUSTOMER_TRX_ID |
TYPE |
PAYMENT_SCHEDULE_ID |
CODE_COMBINATION_ID |
---|---|---|---|---|---|
57931 |
-4400 |
101467 |
INVOICE |
30191 |
01-8100-1000-3000 |
When the chargeback is created, Receivables inserts a record into the AR_ADJUSTMENTS table to record an adjustment against the invoice. The amount column equals the inverse of the amount_due_remaining column on the invoice payment schedule in the AR_PAYMENT_SCHEDULES table. The customer_trx_id and the payment_schedule_id columns reference the original invoice.
For chargebacks, the type column is always INVOICE. The code_combination_id column stores the revenue account of the chargeback. This transaction will offset the REV distribution from the RA_CUST_TRX_LINE_GL_DIST table. To link this adjustment with the chargeback, the chargeback_customer_trx_id column, which isn't shown, stores the customer_trx_id of the chargeback.
The AR_PAYMENT_SCHEDULES table stores CB-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE_REMAINING |
CUSTOMER_TRX_ID |
TRX_NUMBER |
STATUS |
AMOUNT_APPLIED |
CLASS |
AMOUNT_ADJUSTED |
---|---|---|---|---|---|---|---|---|
565785 |
4400 |
4400 |
765432 |
CB-101 |
OP |
NULL |
CB |
NULL |
The class column identifies this payment schedule as a chargeback. The example chargeback has a status of OP (open) and an amount_applied of NULL, because no payment has been applied against it. The amount_due_original and amount_due_remaining columns equal the amount of the chargeback.
After creating the chargeback , the AR_PAYMENT_SCHEDULES table stores Invoice I-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE_REMAINING |
CUSTOMER_TRX_ID |
TRX_NUMBER |
STATUS |
AMOUNT_APPLIED |
CLASS |
AMOUNT_ADJUSTED |
---|---|---|---|---|---|---|---|---|
30191 |
6400 |
0 |
101467 |
I-101 |
CL |
2000 |
INV |
-4400 |
Receivables updates the invoice payment schedule in the AR_PAYMENT_SCHEDULES table by reducing the amount_due_remaining column to zero, to reflect the application of the chargeback to the invoice. The amount_adjusted column equals the amount of the chargeback and the status column is changed to closed (CL).
Adjustments
You can create adjustments to increase or decrease invoice balances. You can make adjustments to invoices, lines, tax, or freight. Receivables uses the following tables to store adjustment information:
-
AR_ADJUSTMENTS
-
AR_PAYMENT_SCHEDULES
Consider an adjustment to invoice I-101 to write off the remaining balance of $2400.
The AR_ADJUSTMENTS table stores the adjustment to I-101 as follows:
ADJUSTMENT_ID |
AMOUNT |
CUSTOMER_TRX_ID |
TYPE |
PAYMENT_SCHEDULE_ID |
CODE_COMBINATION_ID |
---|---|---|---|---|---|
987654 |
-2400 |
899143 |
INVOICE |
646566 |
01-5100-3000-1000 |
Receivables inserts a record into the AR_ADJUSTMENTS table to record adjustment details, such as the amount, the type of adjustment, the customer_trx_id, and the payment_schedule_id of the invoice to adjust. The amount column equals the amount of the adjustment. The code_combination_id column stores the general ledger distribution for the adjustment transaction.
The AR_PAYMENT_SCHEDULES table stores the adjustment to I-101 as follows:
PAYMENT_SCHEDULE_ID |
AMOUNT_DUE_ORIGINAL |
AMOUNT_DUE_REMAINING |
CUSTOMER_TRX_ID |
TRX_NUMBER |
STATUS |
AMOUNT_APPLIED |
CLASS |
AMOUNT_ADJUSTED |
---|---|---|---|---|---|---|---|---|
646566 |
6400 |
0 |
899143 |
I-101 |
CL |
4000 |
INV |
-2400 |
Receivables updates the payment schedule record of the invoice in AR_PAYMENT_SCHEDULES, by adjusting the amount_due_remaining to zero, changing the status to CL, and changing the amount_adjusted to -2400.