Invoicing
Create, manage, and track invoices for your customers.
Invoices can be issued to either a contact or an organisation — choose the right bill-to type when creating the invoice. Org-billed invoices snapshot the organisation's tax ID, address, and default payment terms automatically. See Organisations for org setup.
Important: Before creating your first invoice, configure your invoice settings (numbering format, default terms, tax rules). See the Invoice Settings section below.
Invoice List#
Step 1. Go to /default/invoicing
Step 2. View summary stats at the top:
- Total Invoiced — sum of all invoices
- Paid — total amount received
- Outstanding — amount pending payment
- Overdue — amount past due date
Step 3. Use the filter tabs to view invoices by status: All, Draft, Issued, Paid, Overdue, Void, Recurring.
- The Recurring tab narrows the list to invoices that were generated by a recurring schedule.
Step 4. Read the table columns at a glance:
- Invoice — the invoice number. A small repeat icon appears when the row was generated by a recurring schedule; click the icon to jump to the parent schedule.
- Bill to — contact (person icon) or organisation (building icon). Click the name to jump to that record.
- Status, Issued (issue date), Amount, Due Date, Actions.
Step 5. Click the chevron at the start of any row to expand it inline — line items, payment history, and invoice metadata appear without leaving the page.
Step 6. Click any invoice number to open its full detail page.
Create an Invoice#
Step 1. Go to /default/invoicing/new
Step 2. Pick who you're billing at the top of the form:
- Contact — bill an individual lead (B2C). Use the contact picker to search, then the billing fields auto-fill from the lead.
- Organisation — bill a company (B2B). Use the organisation picker to search, and the billing fields auto-fill from the org's name, email, address, tax ID, and default payment terms. Optionally add a CC contact so the human point-of-contact still gets a copy of the email.
Tip: You can deep-link straight into org-billing mode from any organisation's Invoices tab via + New invoice — the organisation is preselected.
Step 3. Optionally link a Deal. If the deal has an organisation attached, the bill-to automatically switches to that organisation and the deal's contact becomes the CC.
Step 4. Fill in the rest of the invoice:
- Line Items — add products with quantity and unit price (auto-populated from a linked deal)
- Tax — select applicable tax rules (configured in settings)
- Payment Terms — set the due date or payment terms (e.g., Net 30). Org-billed invoices default to the organisation's preferred terms.
- Notes — add any additional notes for the customer
Step 5. Review the totals: subtotal, tax, and grand total
Step 6. Click Save as Draft or Save & Issue to send immediately
Invoice Detail#
Step 1. Go to /default/invoicing/{invoiceId} (click any invoice from the list)
Step 2. Review the full invoice:
- Line Items — products, quantities, unit prices, totals
- Totals — subtotal, tax breakdown, grand total
- Audit Timeline — history of all changes and status transitions
- Status — current state (Draft, Issued, Paid, Overdue, Cancelled)
Step 3. Transition the invoice status:
- Draft → Issued — send the invoice to the customer
- Issued → Paid — mark as paid when payment is received
- Any → Cancelled — cancel the invoice
Edit an Invoice#
Step 1. Go to /default/invoicing/{invoiceId}/edit
Step 2. Update line items, customer details, or payment terms
Step 3. Click Save
Important: Only draft invoices can be freely edited. Issued invoices may require cancellation and re-issuance for significant changes.
Raise a Credit Note#
A credit note reduces what the customer owes. It moves no money — use it when you billed the wrong amount, agreed a discount after issuing, or are writing something off.
Credit note or refund? The credit note changes what they owe; the refund changes the cash. If they have not paid yet, a credit note alone is the whole job. If they have already paid, you need both — see the warning in step 5.
Step 1. Open the invoice at /default/invoicing/{invoiceId}.
Step 2. Click Credit Note in the sidebar. It appears whenever there is still headroom — you can never credit more than the invoice was for, counting credit already given by earlier notes and by refunds.
Step 3. Pick a reason and write one sentence of explanation. It goes on the credit note and the audit trail.
Step 4. Add the lines. Picking an invoice line in Credit against invoice line fills in the description, quantity, price, and tax from it, which is the usual case — you are crediting something you billed. Leave it unset for a goodwill or write-off credit.
Step 5. Leave Issue immediately on unless you want a draft to check first. Issuing is the moment the invoice balance drops, and from then the note cannot be edited — only voided.
If the invoice was already paid: issuing the credit note leaves the customer in credit and you owe them cash. The confirmation message tells you how much. Record that with a Refund and leave the credit toggle OFF — the write-off already happened on the credit note, and crediting again counts it twice.
All credit notes across the company are listed at /default/invoicing/credit-notes, where you can also issue drafts, void issued notes, and delete drafts you no longer want.
Refund an Invoice#
Use this when money the customer already paid has to go back. Voiding is not the right tool once you have been paid — a void erases an invoice the customer is holding, while a refund records what actually happened.
Step 1. Open the invoice at /default/invoicing/{invoiceId}.
Step 2. Click Refund in the sidebar. The button only appears when there is cash to return — you can never refund more than the customer actually paid, and the modal shows the refundable amount at the top.
Step 3. Enter the amount, the date the money went back, and pick a reason. Write one sentence of explanation — it goes on the audit trail and is what anyone reviewing the account later will read.
Step 4. Decide the credit toggle. This is the important one.
- "Customer no longer owes this amount" ON (the default) — use for a cancellation, a return, or a service you did not deliver. The invoice is credited by the refunded amount, so its balance stays at zero.
- OFF — use for a duplicate payment or an overpayment, where the original invoice was correct. Only the cash goes back; the customer still owes the original amount, and the invoice will show a balance due again.
Getting this backwards is the one mistake that matters: leaving it OFF on a cancellation puts the invoice back into collections and the customer gets chased for money you correctly returned.
Step 5. Optionally link the refund to the specific payment being reversed, add a reference number, and click Record Refund.
The invoice detail then shows a Refunds panel, the totals gain Credit and Refunded lines, and the PDF is regenerated to match.
Who can do this: refunds are money leaving the company, so only Accountants, Admins, and the Owner can create or approve one. Sales reps and marketers can see refunds but not issue them.
Approving before paying: if your process is approve-then-transfer, record the refund as Pending. It reserves the amount (so nobody double-refunds) without moving any totals, and you click Mark paid once the transfer leaves. A pending refund can be cancelled; a completed one cannot — the only correction is recording a new payment.
Invoice Settings#
Step 1. Go to /default/invoicing/settings
Step 2. Configure:
- Numbering Format — the pattern for invoice numbers (e.g., INV-0001)
- Default Payment Terms — the standard payment period (e.g., Net 30, Net 60)
- Tax Rules — create tax configurations with name, rate, and applicability
- Currency — default currency for invoices
Step 3. Click Save
Tip: Set up tax rules for each tax jurisdiction you operate in. This ensures invoices automatically calculate the correct tax amount based on the rules you select.
Billing an Organisation#
When the buyer is a company rather than an individual:
Step 1. Open the organisation at /default/organisations/{id} (see Organisations).
Step 2. Make sure its Billing details are filled in (Tax/VAT number, Registration number, Default payment terms) — these snapshot onto every invoice you issue against the org. Edit via the Edit button → Billing details section.
Step 3. Switch to the Invoices tab to see paid / outstanding / overdue totals and every past invoice billed to this org.
Step 4. Click + New invoice — the invoice form opens with the organisation already preselected. Optionally pick a CC contact so the human point-of-contact also receives the invoice email.
Tip: When you convert a deal into an invoice and the deal has an organisation, the invoice is automatically billed to that organisation, with the deal's contact recorded as the CC. Override before saving if needed.
Recurring Invoices#
Use a recurring schedule to bill the same customer on a cadence — monthly retainers, tuition instalments, weekly subscriptions, annual renewals. Each cycle Leadboard generates a real invoice from the schedule's template, applies your auto-issue and auto-send preferences, and advances to the next run.
Make an existing invoice recurring#
The fastest way to set one up is to start from an invoice you've already created — Leadboard prefills the schedule's bill-to, currency, payment terms, line items, and notes from that invoice. Three places offer the action:
- Invoice list — open the row's Actions menu and choose Make recurring. Hidden if the row was already generated by a schedule.
- Invoice detail page — header action bar has a Make recurring button next to Duplicate.
- Edit page — header has a Make recurring button next to Cancel, available for any non-recurring invoice (works on issued and paid invoices too — you're using them as a template, not modifying them).
A confirmation toast (Prefilled from INV-XXXX) appears, and the form opens with a hint banner — Linked to <name> — search to change — above the bill-to picker so you can confirm or swap the customer.
Create a schedule from scratch#
Step 1. Go to /default/invoicing/recurring and click + New schedule.
Step 2. Fill in the Basics:
- Schedule name — a label for your team (e.g. Tuition – Spring 2026).
- Bill to — choose Contact or Organisation, then pick the customer.
Step 3. Set the Cadence:
- Every (count) + Interval —
1 × Monthfor monthly,2 × Weekfor fortnightly,1 × Yearfor annual, etc. - Start date — the first run. Each subsequent run advances by
count × intervalfrom this anchor (so a monthly schedule anchored on Jan 31 lands on Feb 28 / Feb 29 next). - End date (optional) — generation stops after this date.
- Max occurrences (optional) — generation stops after this many invoices. Leave blank for an open-ended schedule. If both
end_dateandmax_occurrencesare set, whichever is reached first wins. - Days until due — how many days each generated invoice gives the customer to pay (used to compute the invoice's due date).
Step 4. Choose Generation behaviour:
- Auto-issue generated invoices — each new invoice goes straight to ISSUED. Untick to save them as DRAFT for manual review.
- Auto-send invoice email when issued — emails the customer the invoice as soon as it's issued. Disabled when auto-issue is off.
Step 5. Configure Invoice defaults:
- Currency, Payment terms, optional Notes that copy onto every generated invoice.
Step 6. Add Line items — description, quantity, unit price, and tax rate. The per-invoice subtotal preview updates as you type.
Step 7. Click Create schedule. Leadboard sets next_run_at to your start date and lists the schedule on the recurring page.
Manage a schedule#
Step 1. Go to /default/invoicing/recurring to see all schedules. The table shows Name, Bill to, Cadence, Next run, Generated (e.g. 3 / 12), and Status.
Step 2. Use the filter pills — All, Active, Paused, Completed, Cancelled — to narrow the list.
Step 3. Click the chevron on any row to expand it: the template line items and the cadence summary (start, end, last run, auto-issue / auto-send, days until due) show inline.
Step 4. Use the Actions dropdown to operate on a schedule:
- View / Edit — open the schedule form. Edits apply to future runs only — already-issued invoices are immutable snapshots.
- Pause (active schedules) — generation stops until you resume. The cursor doesn't advance while paused.
- Run now (active schedules) — immediately generate one invoice using today's date. The cursor advances and
Generatedincrements by 1. Useful for catching up after a pause or testing a schedule. - Resume (paused or completed) — re-activates the schedule. If
next_run_atis in the past, Leadboard fast-forwards it to today rather than backfilling the missed runs. - Cancel — soft-cancel; the schedule stays in the list with status
CANCELLEDso you keep the audit trail. It will not generate further invoices and can't be resumed.
How automatic generation works#
A scheduled task runs every hour. It picks up every Active schedule whose next_run_at is today or earlier, creates the invoice, applies your auto-issue / auto-send settings, then advances next_run_at by the cadence and increments invoices_generated. If end_date or max_occurrences is reached, the schedule transitions to COMPLETED.
Tip: Generated invoices are real invoices — they appear in the main invoice list with a small repeat icon, count toward your totals, accept payments, and link back to the parent schedule via the Recurring filter pill.
Withholding Tax#
Nigerian customers often pay an invoice net of withholding tax — they keep 5% (or 10%) back and remit it to the tax authority on your behalf. Without this switch, such an invoice sits Partially paid forever. Available from the Growth plan.
Step 1. Go to /[company]/invoicing/settings → Withholding Tax, switch it on, set the Default rate (e.g. 5) and click Save Changes
Step 2. New invoices pre-fill the rate; the preview shows Amount payable net of WHT
Step 3. When the customer pays, click Record Payment and switch on Customer withheld tax. Leadboard pre-computes the cash and the tax withheld; adjust if needed.
What you'll see: the invoice settles (cash + tax withheld = total) and the status becomes Paid, with a Tax withheld line linking to the register.
Step 4. When the tax authority's credit note arrives, open /[company]/invoicing/wht, find the row and Attach receipt. The register shows what has been withheld and which receipts are still awaited.
Customer Payments and Credit#
Available from the Growth plan.
- One transfer for several invoices — go to /[company]/invoicing/credits → Record payment, pick the customer, enter the amount: Leadboard spreads it oldest-due first (or set the split yourself). Anything left over is held as customer credit.
- An advance or deposit before any invoice exists — Record advance on the same page.
- Apply credit — an open invoice for a customer with credit shows a banner; click Apply credit and choose how much.
The Customer balance card on a contact's or organisation's Invoices tab shows outstanding, credit held and net.
Payment Reminders#
Step 1. /[company]/invoicing/settings → Reminders: switch on Send reminders automatically, set the schedule (default −3, 0, 7, 30 days from the due date), an optional CC address and the wording per stage. Growth plan.
Step 2. Every open invoice with an email address gets the branded invoice email, PDF attached, on those days. The invoice page shows the next scheduled reminder and lets you Send reminder now or Pause a disputed invoice.
Let Customers Pay Online#
Customers pay into your own Paystack (naira) or Stripe (other currencies) account — Leadboard never holds the money. Growth plan.
Step 1. /[company]/invoicing/settings → Online payments: paste your Paystack public and secret keys (or Stripe secret and webhook secret), add the Webhook URL shown in your provider's dashboard, then switch Accept payments on. Leadboard checks the key with the provider before enabling.
Step 2. Every invoice email now carries a Pay online button, and the invoice page has Get pay link to copy the link yourself.
What the customer sees: the invoice, the amount due, an optional box to declare the WHT they withhold, and Pay with Paystack / card. The payment records itself against the invoice the moment the provider confirms it; anything over the amount due becomes customer credit.
Statements#
On a contact's or organisation's Invoices tab click Statement: pick a period, Print it, or Email statement. It shows opening balance, every invoice, payment, credit and refund with a running balance, and outstanding by age. Growth plan.
Customer Portal#
Portal link on the same card mints a signed link (/p/{token}) where the customer sees everything they owe, their history, their statement and every PDF — no login, no account. The link is also in every invoice email. Growth plan.
E-invoicing (FIRS / NRS)#
Nigeria requires invoices to be submitted to the tax authority through an accredited Access Point Provider and stamped with an IRN. Small and emerging taxpayers go live on 1 July 2027. Growth plan.
Step 1. /[company]/invoicing/settings → E-invoicing: enter your Company TIN, pick the provider (the sandbox until an accredited provider is connected), paste the API key and switch E-invoicing on
Step 2. Work through the Readiness checklist under the switch — TIN, legal name, billing address, tax categories, and organisations invoiced this month that lack a TIN.
Step 3. Issue invoices as usual. Each one is submitted automatically.
What the pill on the invoice page means: accepted with the IRN (also printed on the PDF); rejected with what to fix in plain words — fix the data (usually a missing customer TIN) and click Resubmit; pending while the provider answers. XML shows exactly what was sent.