Applying payments to invoices
Navigate to Money In → Customer Payments, or send aPOST to /public/v2/customer-payments/. Choose the customer, enter the payment amount and date, and choose the bank account where the funds were deposited. DualEntry displays all open invoices for that customer.
Allocate the payment across one or more invoices. You can auto-apply (oldest invoice first) or manually assign amounts to specific invoices. The payment posts a debit to the bank account and a credit to accounts receivable, clearing the allocated portion of each invoice.
When using auto-apply, DualEntry allocates the payment starting with the oldest open invoice and works forward until the payment amount is exhausted. If the payment does not cover all open invoices, the remaining invoices stay open with their original balances. You can override the auto-apply suggestion and reallocate manually before confirming.
Partial payments
You are not required to pay an invoice in full. Enter any amount less than the invoice balance, and DualEntry records a partial payment. The invoice remains open with a reduced balance and continues to appear in your aging report until fully satisfied. Partial payments are common in milestone billing, disputed invoices, or installment arrangements. DualEntry tracks each partial payment individually so you have a complete payment history per invoice. The invoice detail view shows every payment applied, with dates and amounts.Deposit funds held in Undeposited Funds
Undeposited Funds is a holding account for money you have received but not yet taken to the bank, and a customer deposit is the record that moves that balance into a bank account. Use Undeposited Funds when several receipts arrive separately and reach the bank as one lump sum, so your ledger shows the same single line your bank statement shows. Every organization has a system Undeposited Funds account. When you record a customer payment, a cash sale, a customer prepayment, or a vendor refund you have received, the cash side of the entry points either at a bank account or at Undeposited Funds. Choose Undeposited Funds whenever the money is in hand but not yet at the bank. To move the held balance into a bank account:- Go to Money In → Customer Deposits and create a deposit.
- Choose the bank account that receives the money.
- Add each held receipt as a line on the deposit.
- Save the deposit.
A receipt can appear on only one deposit. You can enter a line amount lower than the receipt’s undeposited balance, but not higher. A lower amount still clears the receipt’s full balance out of Undeposited Funds: the shortfall posts to the system Matching Gain/Loss account (GL code 9230) rather than staying held. To bank a receipt in stages, record it as separate payments instead.
Customer prepayments
Customers sometimes pay before you issue an invoice, as a retainer, deposit, or advance payment. Record these through/public/v2/customer-prepayments/. The entry credits the system Customer Deposits liability account (GL code 2300), not revenue, and debits either a bank account or Undeposited Funds, defaulting to Undeposited Funds when you do not name a bank account.
When you are ready to apply the prepayment, use /public/v2/customer-prepayment-applications/ to allocate it against one or more invoices. The application reclassifies the liability to revenue and clears the invoice receivable. You can apply a prepayment partially; the remaining balance stays available for future invoices.
“Customer deposits” means two different things in DualEntry, which is worth keeping straight. The Customer Deposits account (GL code 2300) is the liability credited when you record a customer prepayment. A customer deposit record is something else: it is the bank deposit that banks receipts you are holding, covered in Deposit funds held in Undeposited Funds. To record an advance from a customer, use a prepayment, which tracks its own remaining balance so you always know how much unapplied credit a customer has available.
Apply credit memos to invoices in bulk
To apply many credit memos to open invoices at once, import them as customer payments through Bulk Import with a Customer Credit Id on each row. A credit memo is a customer credit record in Money In → Customer Credits. Each payment the import creates uses the credit, not cash, to clear the invoices, so its total is zero and nothing posts to a bank account. The Customer Payments import groups rows by Customer Payment Id: every row with the same value becomes one payment, and each row is one invoice that payment applies to. Customer Payment Id is a label you choose for the file, such asCP-1, and isn’t saved on the payment. To apply a credit memo to a group of invoices:
- Set Customer Credit Id to the credit memo’s ID on every row in the group.
- Set Item Invoice Id to the invoice’s ID and Item Amount to the amount of credit to apply to it, one invoice per row.
- Set Bank Or Undeposited Account Amount to
0. - Fill in the remaining required columns (Company Name, Date, Currency Code, Exchange Rate, and Check Number) as you would for any payment. Check Number can hold any reference, such as the credit memo number.
id column of the export, not the number column.
The example below applies one credit memo across two invoices (group CP-1) and records an ordinary cash payment in the same file (group CP-2). The required columns not shown here repeat on every row.
After the import, DualEntry has applied $100.00 of credit memo 5012 to the two
CP-1 invoices, and any remaining credit stays open for later use. Importing the same file again doesn’t apply the credit a second time.
If a credit memo row fails
When a group fails validation, Bulk Import doesn’t create that payment and reports the error on its rows. The errors specific to credit memo application are below, shown with example values:Customer Credit 5012 not found: no credit memo has that ID. Check that you used theidfrom the export, not the credit memo number.Customer Credit 5012 must be posted to receive payment applications.: the credit memo is still a draft. Post it, then import the rows again.Total applied amount (120.00) exceeds customer credit amount (100.00): the group’s Item Amount values, plus anything already applied from the credit memo, add up to more than the credit. Lower the amounts so they fit within the credit’s remaining balance.Paid amount 90.00 exceeds invoiced amount 80.00: a row applies more than the invoice’s open balance. Lower that row’s Item Amount.
Overpayments and payment matching
If a customer sends more than the invoice balance, you have two options:- Leave the credit on account: DualEntry records the excess as a customer credit that can be applied to future invoices. The credit appears in the customer’s balance.
- Refund the overpayment: issue a refund for the excess amount through the customer refunds workflow.
Customer refunds
When you need to return money to a customer (for a cancelled order, returned goods, or overpayment), record a refund through/public/v2/customer-refunds/. The refund debits accounts receivable (or the customer credit balance) and credits the bank account.
Refunds link back to the original payment or credit memo for audit trail purposes. You can issue a full or partial refund. Refunded invoices update their balance accordingly.
If the refund relates to a credit memo rather than a direct payment reversal, apply the credit memo first and then issue the refund against the customer’s credit balance. This two-step process ensures both the revenue reversal and the cash disbursement are recorded as separate, auditable transactions.
Cash sales
For transactions where payment is received at the point of sale with no outstanding receivable, use cash sales at/public/v2/cash-sales/. Cash sales debit the bank account and credit revenue directly, bypassing the invoice-and-payment cycle. They are useful for retail transactions, walk-in payments, and other immediate-collection scenarios.
Cash sales post immediately and appear in reconciliation alongside your other deposit activity. Because they skip the receivable, they do not appear in aging reports. If you need to track a receivable (even briefly), use the standard invoice and payment workflow instead.