Overview
This article will provide examples of different scenarios that may occur within the ledger journal.
Case Examples
Payment Allocations
These case examples below show various scenarios related to payments and presents the expected view of the ledger.
Please see Payment Allocation Fundamentals for more information.
Single payment allocation to single outstanding invoice.
Case: Account 123456 has 1 invoice for 100, and a $100 payment is made against that invoice.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/02/2017 | 100000' | invoice | UmbrellaInvoiceId | 987654 | $100 | invoice issued to customer | |
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$100 | payment received | |
17/02/2017 | 100002 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $100 | 100001 | Transaction is to 'cancel out' the payment so that it can be allocated to an invoice. The reference_key references the original Journal ID of the unallocated payment |
17/02/2017 | 100003 | allocateUnallocatedPayment | UmbrellaInvoiceId | 987654 | -$100 | 100001 | Payment is allocated to an invoice |
Single payment allocation to multiple outstanding invoices.
Case: Account 123456 has 2 invoices outstanding, 1 for $25 and 1 for $45, and a $70 payment is made against those invoices.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/01/2017 | 100000 | invoice | UmbrellaInvoiceId | 887445 | $25 | invoice issued to customer | |
15/02/2017 | 104050 | invoice | UmbrellaInvoiceId | 971000 | $45 | invoice issued to customer | |
17/02/2017 | 104100 | unallocatedPayment | UmbrellaAccountId | 123456 | $-70 | payment received | |
17/02/2017 | 104101 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $70 | 104100 | Transaction to cancel out payment so that it can be allocated |
17/02/2017 | 104102 | allocateUnallocatedPayment | UmbrellaInvoiceId | 887445 | $-25 | 104100 | Payment is allocated to an invoice |
Single payment allocation to invoice, but the payment amount is higher than the invoice.
Case: Account 123456 has 1 invoice outstanding for $100, but makes a $150 payment.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/02/2017 | 100000 | invoice | UmbrellaInvoiceId | 987654 | $100 | invoice issued to customer | |
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$150 | payment received | |
17/02/2017 | 100002 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $150 | 100001 | Transaction is to 'cancel out' the payment so that it can be allocated to an invoice. |
17/02/2017 | 100003 | allocateUnallocatedPayment | UmbrellaAccountId | 987654 | -$100 | 100001 | Payment is allocated to an invoice |
17/02/2017 | 100004 | unallocatedPayment | UmbrellaAccountId | 123456 | -$50 | 100001 | Because the payment amount exceeded the outstanding amount of the invoice, the remainder of the payment is put in a new unallocated payment. |
Invoice has credit placed against invoice directly, then payment.
Case: Account 123456 has:
- an invoice for $100
- a credit against the invoice for $20
- a payment of $100.
Credits are allocated against the invoice directly, so if you have a $100 invoice and a $20 credit, the system should only allocate a maximum of $80 in payments against the invoice. In this case, you will end up with $80 allocated against the invoice, and $20 unallocated.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/02/2017 | 100000 | invoice | UmbrellaInvoiceId | 987654 | $100 | invoice issued to customer | |
16/02/2017 | 100001 | credit | UmbrellaInvoiceId | 987654 | $-20 | ||
17/02/2017 | 100002 | unallocatedPayment | UmbrellaInvoiceId | 123456 | -$100 | payment received | |
17/02/2017 | 100003 | offsetUnallocatedPayment | UmbrellaInvoiceId | 123456 | $100 | 100002 | Transaction is to 'cancel out' the payment so that it can be allocated to an invoice. |
17/02/2017 | 100004 | allocateUnallocatedPayment | UmbrellaInvoiceId | 987654 | -$80 | 100002 | Payment is allocated to an invoice |
17/02/2017 | 100005 | allocateUnallocatedPayment | UmbrellaInvoiceId | 123456 | -$20 | 100002 | Because the payment amount exceeded the outstanding amount of the invoice, the remainder of the payment is put in a new unallocated payment. |
Longer running Journal showing 2 invoices and a single large payment.
Case: Account 123456 has 1 invoice for $100, and a $100 payment is made against that invoice. Later on, the same account has an invoice of $100 and makes a payment of $150. Later again, another invoice of $100 is issued.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/02/2017 | 100000 | invoice | UmbrellaInvoiceId | 987654 | $100 | invoice issued to customer | |
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$150 | payment received | |
17/02/2017 | 100002 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $150 | 100001 | Transaction is to 'cancel out' the payment so that it can be allocated to an invoice |
17/02/2017 | 100003 | allocateUnallocatedPayment | UmbrellaInvoiceId | 987654 | -$100 | 100001 | Payment is allocated to an invoice |
17/02/2017 | 100004 | unallocatedPayment | UmbrellaAccountId | 123456 | -$50 | 100001 | ecause the payment amount exceeded the outstanding amount of the invoice, the remainder of the payment is put in a new unallocated payment. |
01/03/2017 | 100005 | invoice | UmbrellaInvoiceId | 1135790 | $100 | A new invoice is issued to the customer for $100 - keep in mind that the customer is still $50 in credit from overpaying their original invoice. | |
01/03/2017 | 100006 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $50 | 100004 | unallocatedPayment of $50 is offset. |
01/03/2017 | 100007 | allocateUnallocatedPayment | UmbrellaInvoiceId | 1135790 | $-50 | 100004 | Remaining $50 is allocated to new invoice. The customer should have $50 owing on this invoice. |
Refunds
These examples show how refunds are presented on the ledger journal.
A full refund issued
This example will show a payment of $100 and a refund of $100.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$100 | payment received | |
17/02/2017 | 100002 | refund | UmbrellaAccountId | 123456 | $100 | 100001 | The refund transaction |
Partial Refund
This example will show a payment of $100 and a refund of $40. When a partial refund is completed, the payment is effectively broken up in two payments internally. The refund is created against one of these new payments, and the rest of the payment is able to be allocated as normal.
Date | Ledger Journal ID | Transaction Type | Handler Type | Handler ID | Amount | Prior Ledger Journal ID | Description of Transaction |
|---|---|---|---|---|---|---|---|
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$100 | payment received | |
17/02/2017 | 100002 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $100 | 100001 | Transaction is to 'cancel out' the payment so that it can be allocated to an invoice |
| 17/02/2017 | 100003 | unallocatedPayment | UmbrellaAccountId | 123456 | -$40 | 100001 | The unallocated payment for the amount being refunded |
| 17/02/2017 | 100004 | unallocatedPayment | UmbrellaAccountId | 123456 | -$60 | 100001 | The unallocated payment for the amount not being refunded. This amount can be allocated to invoice |
17/02/2017 | 100005 | refund | UmbrellaAccountId | 123456 | $40 | 100003 | The refund transaction |
In the example above, the invoice will show the original payment received and the refund only. The breaking up of the payment is internal to our system only and is not presented on invoices.
Payment Reversal and Void
This example demonstrates how payment reversal and void will appear on the ledger. In this example, a payment is being received for $100 against account 123456 and allocated against invoice 987654
Date | Ledger Journal Id | Transaction Type | Handler Type | Handler Id | Amount | Prior Ledger Journal Id | Description of Transaction |
|---|---|---|---|---|---|---|---|
15/02/2017 | 100000 | invoice | UmbrellaInvoiceId | 987654 | $100 |
| invoice issued to customer |
17/02/2017 | 100001 | unallocatedPayment | UmbrellaAccountId | 123456 | -$100 |
| payment received |
17/02/2017 | 100002 | offsetUnallocatedPayment | UmbrellaAccountId | 123456 | $100 | 100001 | Transaction is to cancel out the payment so that it can be allocated to an invoice. |
17/02/2017 | 100003 | allocateUnallocatedPayment | UmbrellaInvoiceId | 987654 | -$100 | 100001 | Payment is allocated to an invoice |
Next, we see the payment being reversed so that it can be re-allocated:
DATE | Ledger Journal Id | Transaction Type | Handler Type | Handler Id | Amount | Prior Ledger Journal Id | Description of Transaction |
|---|---|---|---|---|---|---|---|
01/04/2017 | 100004 | reverseAllocatedPayment | UmbrellaInvoiceId | 987654 | $100 | 100003 | reversing the previous allocateUnallocatedPayment transaction |
01/04/2017 | 100005 | unallocatedPayment | UmbrellaAccountId | 123456 | -$100 | 100004 | the new unallocatedPayment that can now be allocated |
Here, using the same example above, we could see the payment being voided.
DATE | Ledger Journal Id | Transaction Type | Handler Type | Handler Id | Amount | Prior Ledger Journal Id | Description of Transaction |
|---|---|---|---|---|---|---|---|
01/04/2017 | 100006 | voidAllocatedPayment | UmbrellaInvoiceId | 987654 | $100 | 100005 | voiding the unallocatedPayment transaction |