Skip to content

Customer Invoices

A customer invoice is a formal request for payment. You send it before the customer has paid, share the link via WhatsApp or SMS, and your customer pays you by bank transfer at their convenience. SabiBooks tracks every status change — Draft, Sent, Partially paid, Paid — so you always know who owes you and how much.

Three different concepts. Easy to mix up.

Receipt (Sale)

The customer has already paid. You record it in the POS. The receipt is a confirmation of money received.

Invoice

The customer has not yet paid. You send an invoice as a request for payment, with a due date and your bank details.

Credit

A trusted customer takes goods now and pays later — usually informal, no formal document. Tracked under Credit Management.

  1. Open Invoices

    Tap the “More” menu in the bottom navigation, then tap “Invoices”. You’ll land on the Invoices list.

  2. Tap New Invoice

    Tap the “New Invoice” button (top right on desktop, floating button on mobile).

  3. Pick a customer

    Tap Customer and search by name or phone. If the customer doesn’t exist yet, add them first (see Customers).

  4. Choose the type

    In the Type section, pick:

    • Invoice (default) — a regular invoice. Use this most of the time.
    • Proforma — a formal quote. The customer can review it and you can convert it to a real invoice later.
    • Tax Invoice — only visible if your business is VAT-registered. Stamps your TIN and VAT registration number on the invoice.
  5. Set the dates

    • Invoice date defaults to today.
    • Payment terms (days) defaults to your business setting (configured under Settings → Invoicing). Adjust per-invoice if you need different terms.
  6. Add line items

    For each item you’re billing, search your products by name or SKU. Or add an ad-hoc item for one-off charges like “Delivery fee” — type a name, set a price, set a quantity. Discount per line is optional.

  7. Save as Draft

    Tap “Save as Draft”. The invoice is created but not yet visible to the customer.

Drafts only become real invoices once you share them. Sharing changes the status to Sent and decrements your stock for the items on the invoice.

  1. Open the draft

    From the Invoices list, tap the invoice you want to share.

  2. Tap Share

    Tap the “Share” button. A modal opens with sharing options.

  3. Pick a channel

    • WhatsApp — opens WhatsApp with a pre-filled message containing the invoice link.
    • SMS — opens your phone’s SMS app with the same pre-filled message.
    • Copy link — copies the public link to your clipboard so you can paste it anywhere (email, Telegram, etc.).
    • More… — opens your device’s native share sheet (if supported).
    • Download PDF — downloads a printable A4 invoice, useful if your customer prefers paper.

Once an invoice is in the Sent state, the button changes to “Reshare”. Resharing is safe — it does not double-decrement stock and does not send a second email automatically.

When the customer taps the share link, they see a clean public payment page with:

  • Your business name and logo
  • The invoice number, date, and due date
  • All line items, totals, and any VAT
  • Your bank account details (only if you’ve filled in all three bank fields under Settings → Invoicing — bank name, account number, and account holder name)
  • A polite “Contact merchant for payment details” line if your bank fields are incomplete

The page works without login — your customer just opens the link and pays you by bank transfer.

When the customer pays, record it on the invoice.

  1. Open the invoice

    Tap the invoice in the Invoices list.

  2. Tap Record payment

    The button is available when the invoice status is Sent or Partially paid.

  3. Enter the payment details

    FieldDescriptionExample
    AmountHow much was paid (defaults to the full balance)₦25,000
    Payment methodBank transfer / Cash / POS / Payment link / OtherBank transfer
    ReferenceOptional — bank transaction reference, etc.”TRF-99221”
    NotesOptional — anything worth remembering”Part payment”
  4. Save

    The invoice balance updates immediately.

  • Partial payment — the invoice moves to Partially paid. You can record more payments later.
  • Full payment — the invoice moves to Paid. SabiBooks automatically creates a Sale under the same total, with the same line items, and links it back to the invoice. This means a paid invoice flows into your Reports the same way a regular sale does.

You can cancel a Draft or Sent invoice. Cancelling a Sent invoice also restocks the items.

  1. Open the invoice.
  2. Tap “Cancel” (the action is owner/manager only).
  3. Optionally enter a reason — useful for your own records.
  4. Confirm.

For a fully paid invoice, Refund reverses the entire transaction in one step.

  1. Open a Paid invoice.
  2. Tap “Refund” (owner/manager only).
  3. Optionally enter a reason and a refund reference.
  4. Confirm.

What happens behind the scenes:

  • All items are restocked.
  • The customer’s payment total is reduced.
  • The auto-converted Sale is voided.
  • The invoice status moves to Refunded.

A Proforma is a formal quote — useful when a customer asks “how much will this cost?” before committing.

A Proforma:

  • Has its own invoice number with the same INV-YYYY-#### format
  • Does not decrement stock (it’s a quote, not a commitment)
  • Does not appear in your Sales reports
  • Can be edited freely until you convert it

When the customer accepts the quote, convert it to a real invoice:

  1. Open the Proforma.
  2. Tap “Convert to invoice” (owner/manager only).
  3. Pick the invoice type (Invoice or Tax Invoice).
  4. Optionally adjust the invoice date and payment terms.
  5. Confirm.

The new invoice gets a fresh invoice number, copies all line items and the customer verbatim from the Proforma, and starts as a Draft — ready for you to share. The original Proforma is kept (linked) for your records.

Tax Invoice Mode (Advanced — VAT-registered businesses only)

Section titled “Tax Invoice Mode (Advanced — VAT-registered businesses only)”

If your business is VAT-registered, you can enable Tax Invoice mode to issue invoices with your TIN and VAT registration number stamped on them — required by FIRS for VAT-registered MSMEs.

  1. Go to Settings → Invoicing.
  2. Scroll to Advanced settings.
  3. Toggle VAT registered.
  4. Enter your TIN (Tax Identification Number).
  5. Enter your VAT registration number.
  6. Save.

Once enabled, the Type section on the invoice form gains a Tax Invoice option. Pick it when you need to issue a VAT-compliant invoice. Plain Invoice and Proforma still work as before.

Set these once under Settings → Invoicing, and every new invoice picks them up automatically.

FieldWhat it does
Bank name, account number, account holder nameShown to your customer on the public invoice page so they can pay you by transfer. All three must be filled, or the bank panel is hidden entirely.
Default payment terms (days)How many days from invoice date is payment due, by default. Each invoice can override it.
Invoice number prefixDefaults to INV. Change it if you prefer something like INVL or your initials. Numbers reset every January.

Stock decrements when you share a Draft invoice for the first time (Draft → Sent). It does not decrement when you save a draft. If you cancel a Sent invoice, the stock is restocked. If you edit items on a Sent invoice, SabiBooks recomputes the difference.

Proforma quotes never decrement stock.

Read the long-form story with worked examples and the customer scenarios that make invoices feel natural: