Invoices

Invoices are how you bill customers and track what they owe. Each invoice posts a double-entry accounts receivable journal entry when finalized and moves from draft to paid. Built for partial payments, bank-transaction matching, aging visibility, and clean reconciliation — not just a PDF.

Key capabilities

  • Line items from product variants or custom items, with revenue and inventory deduction
  • AI extraction from pasted text, PDFs, images, Excel, or CSV via Upload & Extract
  • Bulk CSV import and Batch Create across multiple customers
  • Finalize to lock, assign a number, and post AR; void to post a reversing entry
  • Email delivery with optional PDF, custom message, CC-to-sender
  • Partial and split payments via Record Payment
  • Payment matching auto-links high-confidence bank transactions
  • AI Deposits sidebar of likely customer deposits
  • AR Aging with Current / 1-30 / 31-60 / 61-90 / 91+ buckets
  • Cash Receipts tab for weekly deposit reconciliation
  • Credit memos reduce balance due alongside payments
  • Optional Stripe-hosted PDF and online payment link

How it works

An invoice starts as a draft, becomes Open when finalized (posting AR), then closes as payments and credits are applied.

flowchart LR
  draft["Draft"] --> open["Open"]
  open -->|"partial payment"| partial["Partially paid"]
  open -->|"full payment"| paid["Paid"]
  partial --> paid
  open -->|"cancel"| void["Void"]

How to use it

  1. Open Invoices and click Create Invoice.
  2. Select a customer — payment terms and contact info default from the record.
  3. Add line items and set a due date.
  4. Save as draft or Finalize to lock, assign a number, and post AR.
  5. Click Send to email the invoice (optional PDF and CC).
  6. Record money with Record Payment, linking a bank transaction and amount.
  7. Use AR Aging for overdue balances and Cash Receipts for weekly deposits.
  8. Pull invoices from documents via Upload & Extract, Bulk Import, or Batch Create.

Pro tips

  • Line items, due date, and customer change only while Draft — void and re-create to fix a finalized invoice.
  • Run payment matching with auto-match on for high-confidence deposits; review the rest from suggestions.
  • One deposit can pay several invoices — record partial allocations until fully applied.
  • Removing a payment recalculates status automatically.
  • Credit memos count toward balance due and can fully pay an invoice on their own.
  • Due dates must be in the future and within 180 days — AR Aging keys off due date.
  • Stripe PDF and payment links exist only for finalized, Stripe-linked invoices.

In-depth guide

Status

Status Meaning
Draft Not finalized; editable and deletable
Open Finalized, numbered, AR posted, awaiting payment
Partially paid Some payment or credit applied
Paid Fully paid via bank payment(s) or credits
Paid (Stripe) Fully paid through Stripe
Void Cancelled; reversing entry posted
Uncollectible Written off

Overdue is any unpaid, non-void invoice past its due date.

Payments and accounting

  • Record Payment links a bank transaction with an allocated amount.
  • One transaction can split across multiple invoices; one invoice can receive multiple partial payments.
  • Finalizing debits Accounts Receivable and credits Invoice Sales; with unit costs, also books COGS against Inventory.
  • Voiding posts a mirror entry with debit and credit swapped.
  • Payment matching surfaces likely links; auto-match creates records for high-confidence matches. Suggestions can be Pending, Accepted, Rejected, or Expired.
  • AR Aging groups per-customer balance into aging buckets. Cash Receipts reconciles weekly deposits vs amounts applied.

AI extraction builds draft invoices from uploaded documents. A collections workflow drafts reminder emails for overdue invoices by days past due.