Axiomatic

Accounts Receivable & Payable

Manage invoices, bills, payments, and aging reports with support for both fiat and crypto.

Overview

Axiomatic provides full accounts receivable (AR) and accounts payable (AP) modules for managing the lifecycle of customer invoices and vendor bills. Both modules support traditional and crypto payment methods and automatically generate ledger events when payments are recorded.

Counterparties

Customers and vendors are managed as counterparties. Each counterparty record includes:

  • Name and contact email
  • Default currency for billing
  • Wallet address and blockchain network (for crypto payments)
  • Tax ID (for vendors, used in 1099 tracking)

Invoices (Accounts Receivable)

Creating an Invoice

An invoice includes one or more line items, each with a description, quantity, unit price, and optional revenue account mapping. You can set a due date, billing currency, and whether to accept crypto payments.

Invoice Lifecycle

Invoices progress through these statuses:

  • Draft — being prepared, not yet sent
  • Sent — delivered to the customer
  • Partially Paid — some payment received
  • Paid — fully settled
  • Overdue — past the due date without full payment
  • Void — cancelled

Recording Payments

When you record a payment against an invoice, Axiomatic:

  1. Updates the invoice's paid amount and status
  2. Creates a ledger event (invoice_payment)
  3. The posting engine generates the appropriate journal entry (e.g. DR Cash, CR Accounts Receivable)

Payment methods include ACH, wire, check, crypto, credit card, and other.

Crypto Payments

To accept crypto payments on an invoice:

  1. Set acceptCrypto to true
  2. Provide a receiving walletAddress and chain
  3. When payment arrives, record it with method: "CRYPTO" and the transaction hash

Bills (Accounts Payable)

Entering a Bill

A bill records an obligation from a vendor. Each bill includes line items with descriptions, quantities, unit prices, and optional expense account mappings.

Bill Lifecycle

Bills follow a similar lifecycle with an additional approval step:

  • Draft — being entered
  • Received — bill received from vendor
  • Approved — approved for payment
  • Partially Paid — some payment made
  • Paid — fully settled
  • Overdue — past due date
  • Void — cancelled

Paying a Bill

When you record a payment against a bill:

  1. The bill's paid amount and status update
  2. A ledger event (bill_payment) is created
  3. The posting engine generates a journal entry (e.g. DR Accounts Payable, CR Cash)

Crypto Payments

To pay a vendor in crypto:

  1. Set payCrypto to true on the bill
  2. Store the vendor's wallet address on their counterparty record or on the bill directly
  3. Record the payment with the outgoing transaction hash

Aging Reports

Both AR and AP provide aging reports that bucket outstanding balances by how long they've been overdue:

BucketDescription
CurrentNot yet due
1–30 days1 to 30 days past due
31–60 days31 to 60 days past due
61–90 days61 to 90 days past due
90+ daysMore than 90 days past due

Overdue invoices and bills are automatically flagged when their due date passes.

Customer & Vendor Ledgers

View the complete transaction history for any customer or vendor. The ledger shows all invoices or bills and their associated payments, giving you a full picture of the counterparty relationship.

API Reference

Accounts Receivable

ActionMethodDescription
List invoicesGET /api/ar?entityId=...&view=invoicesAll invoices with line items
List customersGET /api/ar?entityId=...&view=customersAll customers
Aging reportGET /api/ar?entityId=...&view=agingAR aging buckets
Customer ledgerGET /api/ar?entityId=...&view=ledger&counterpartyId=...Transaction history
Create customerPOST /api/ar with action: "create_customer"Add a new customer
Create invoicePOST /api/ar with action: "create_invoice"Create invoice with line items
Send invoicePOST /api/ar with action: "send_invoice"Mark as sent
Record paymentPOST /api/ar with action: "record_payment"Record a payment

Accounts Payable

ActionMethodDescription
List billsGET /api/ap?entityId=...&view=billsAll bills with line items
List vendorsGET /api/ap?entityId=...&view=vendorsAll vendors
Aging reportGET /api/ap?entityId=...&view=agingAP aging buckets
Vendor ledgerGET /api/ap?entityId=...&view=ledger&counterpartyId=...Transaction history
Create vendorPOST /api/ap with action: "create_vendor"Add a new vendor
Enter billPOST /api/ap with action: "create_bill"Enter bill with line items
Approve billPOST /api/ap with action: "approve_bill"Approve for payment
Record paymentPOST /api/ap with action: "record_payment"Record a payment

On this page