Selecting bills to pay
Navigate to Money Out → Vendor Payments and create a new payment. Pick the vendor and bank account, and DualEntry lists that vendor’s open (posted, approved, unpaid) bills. Select the bills this payment covers, and DualEntry totals the amount to remit. Each vendor payment applies to a single vendor, so to pay many vendors in a cycle you create one payment per vendor. The API equivalent is aPOST to /public/v2/vendor-payments/ with the bills and amounts you want to apply. You can also retrieve open bills via /public/v2/bills/ filtered by record_status=posted and approval_status=approved.
You can adjust the amount applied to each bill, which lets you make partial payments or prioritize past-due and discount-deadline bills. If you pay on a regular cycle (weekly or biweekly), retrieving open bills by due date helps you identify everything that needs to go out in the current run.
Payment methods
DualEntry creates three payment methods by default, each suited to different vendor relationships and transaction sizes. You can also create custom payment methods to fit your organization’s specific needs.ACH
ACH is the default electronic payment method for domestic vendors. You associate a bank account with the payment and record it in DualEntry to keep your books in sync. DualEntry does not originate the transfer or produce a bank file (such as a NACHA/ACH batch file). Instead, you initiate the payment in your bank or payment provider, and the payment record tracks the disbursement against the bill. ACH is the most cost-effective method for domestic payments and works well for recurring vendor relationships where you have the vendor’s bank details on file.Wire transfer
For wire payments, DualEntry records the wire details (reference number, bank, amount) as a payment record. Wire initiation happens outside DualEntry in your banking portal; the payment record in DualEntry keeps your books in sync. Wires are typically reserved for large or time-sensitive payments where same-day settlement is required.Paper checks
DualEntry prints checks directly from your own bank account on your own check stock, with no third-party check printing service involved. The check PDF is generated inside DualEntry and returned to you (or rendered in the UI) so you can print it on your office printer. This makes paper checks useful for vendors who do not accept electronic payments, for one-off disbursements where you want a physical record, or when compliance requires a wet-signature instrument. You can print checks for any of the following transaction types:- Vendor payments
- Vendor prepayments
- Direct expenses (payments that bypass the bill workflow, like petty cash or a one-off reimbursement)
- Customer refunds
Print workflows
DualEntry supports three check workflows through the/public/v2/paper-checks/ endpoint:
- Print now (
POST /paper-checks/print-now/): generate and print a single check immediately. The check record is created and marked asprintedin one call, and the response includes a base64-encoded PDF you can stream straight to a printer. - Print later (
POST /paper-checks/print-later/): queue one or more checks with a status ofnot_printed. Use this when you want to batch printing into a single weekly or end-of-day run. - Print batch (
PUT /paper-checks/print-batch/): print all queued checks at once. DualEntry returns a single merged PDF and assigns sequential check numbers in the order you supply the check IDs.
Templates
Each check is rendered from aPaperCheckTemplate, which controls layout, MICR line position, company branding, and signature block. You can use the default template or pass a template_id on any of the print endpoints to use a custom template, for example if you maintain separate check stock for different entities.
Managing printed checks
After a check is created you can:- List paper checks with filters for status, bank account, vendor, or date range to find what has been queued, printed, or archived.
- Retrieve a single check by ID, including its PDF, for reprinting or audit.
- Archive a check if it was printed in error or voided. Archiving sets the status to
archivedand keeps the audit trail intact.
Check numbers and registers
Check numbers are assigned sequentially from the check register associated with the selected bank account. The system prevents duplicate check numbers within a register, so you cannot accidentally re-issue a number that has already been used. For a batch run you can passfirst_check_number to align with the next physical check in your stock; if you omit it, DualEntry auto-assigns from the bank account’s sequence.
Printed checks flow into bank reconciliation the same way as any other disbursement. They appear as expected outflows until the physical check clears your bank.
Applying credits, prepayments, and partial payments
If a vendor has issued a credit memo or you have an outstanding prepayment, you can apply it during payment selection. Credits from/public/v2/vendor-credits/ and prepayments from /public/v2/vendor-prepayments/ appear as available balances next to the vendor’s open bills.
Select the credit or prepayment to apply, and DualEntry reduces the payment amount accordingly. You can apply a credit partially, and the remaining balance stays available for future payments. Prepayment applications are tracked separately at /public/v2/vendor-prepayment-applications/ for full auditability.
When you pay a vendor before receiving the bill, the prepayment posts to the Vendor Deposit system account, an asset account DualEntry reserves to hold deposits and prepayments paid to vendors. The balance sits there as an asset until you apply it to a bill, at which point the application releases the deposit and reduces the amount you remit. Because Vendor Deposit is a system account, avoid repurposing it for other uses; DualEntry warns you if you try to edit a system account.
You are also not required to pay a bill in full. Adjust the payment amount on any line in the selection screen to make a partial payment. DualEntry tracks the remaining balance on the bill, and it continues to appear in your aging until fully paid. Partial payments are common when negotiating payment terms, resolving disputes, or managing cash flow. The bill’s open balance updates immediately after the payment posts.
Payment approval and posting
Vendor payments can be routed through their own approval workflow, separate from bill approval. This is useful when you want a manager to approve bills but require a treasurer or controller to authorize the actual cash disbursement. Set up a payment approval workflow under Settings → Approval Workflows with the record type set to vendor payment. You can route based on payment amount, entity, or payment method. Payments above a threshold might require dual authorization, while routine payments below the threshold pass with a single approval. When you confirm a vendor payment, DualEntry creates the accounting entry: a debit to accounts payable (clearing the bill liability) and a credit to the bank account. The payment record links back to each bill it covers, so you always have a clear trail from disbursement to invoice. Posted payments appear in bank reconciliation as expected outflows. When the corresponding bank transaction clears, DualEntry matches it to the payment record automatically or presents it for manual matching.Vendor refunds
When a vendor refunds a payment (for a returned item, overpayment, or cancelled service), record it through/public/v2/vendor-refunds/. The refund creates a debit to the bank account and a credit to accounts payable or the original expense account, depending on how you allocate it.
Refunds link back to the original payment for audit trail purposes. You can issue a full or partial refund, and partial refunds leave the remaining payment allocation intact. The refund amount appears as an expected inflow in bank reconciliation, ready for matching when it clears.
Direct expenses that bypass the bill workflow (such as petty cash or corporate card charges) are recorded through
/public/v2/direct-expenses/. These post immediately without going through bill approval.