Bills¶
Last reviewed: 2026-03-31 · Nnamdi
Status: Complete
Route: /bills → /bills/new → /bills/:id
1. What is it?¶
A Bill is a supplier invoice — a formal request for payment that the business has received but not yet paid. Bills create accounts payable (money owed to suppliers) and are tracked until fully paid. Unlike Expenses (paid on the spot), Bills represent credit purchases where the business pays later. WHT can be deducted from bills for qualifying service payments.
2. How does it work in Finora?¶
2.1 The bills list (/bills)¶
Header actions: - Columns — toggle visible columns - New Bill — opens the new bill form
KPI summary cards: | Card | What it shows | |------|--------------| | Total Bills | Count of all bills + total naira value | | Amount Paid | Total amount paid across all bills | | Amount Due | Total outstanding balance (unpaid portion) | | Overdue | Naira value and count of bills past their due date |
Search and filter: - Search bar: searches by supplier, bill number, or reference - Status filter: All Statuses / Pending / Partially Paid / Paid / Overdue / Cancelled
Table columns: - Bill # — auto-assigned (e.g. BILL-2026-001), sortable - Supplier — the supplier who issued the bill, sortable - Bill Date — date the bill was received, sortable - Due Date — payment deadline, sortable - Total — total bill amount (after WHT deduction if applicable) - Paid — amount already paid - Due — remaining balance - Status — Pending / Partially Paid / Paid / Overdue / Cancelled - Actions — Record Payment, View Details
2.2 Bill status lifecycle¶
| Status | Meaning |
|---|---|
| Pending | Bill recorded, no payment made yet |
| Partially Paid | Some payment made, balance still outstanding |
| Paid | Bill fully settled |
| Overdue | Due date has passed with no full payment |
| Cancelled | Bill voided/cancelled |
2.3 Creating a new bill¶
Click New Bill. Fields:
Supplier Information: | Field | Required | Notes | |-------|----------|-------| | Supplier | Yes | Select from existing list or click "New Supplier" to create inline | | Reference Number | No | The supplier's own invoice number — for cross-reference |
Bill Details: | Field | Required | Notes | |-------|----------|-------| | Bill Date | Yes | Date the bill was received. Defaults to today | | Due Date | Yes | Payment deadline. Defaults to today + 30 days | | Description | Yes | Brief summary of what the bill covers |
Line Items: Each line item has: - Description (required) — what was supplied - Quantity (required) - Unit Price (required) - VAT % — percentage VAT charged on this line (enter the rate, not the amount) - Total — auto-calculated
Click Add Item to add more lines.
WHT (Withholding Tax): A checkbox: "Deduct WHT (Withholding Tax)" at the bill level. - When checked, WHT is calculated at the applicable rate and deducted from the total - The amount the business actually pays to the supplier = Bill Total − WHT - The WHT amount is remitted separately to FIRS/LIRS on the supplier's behalf - WHT rate depends on the nature of the service and whether the supplier is a company or individual: - Professional/legal/consultancy services (company): 10% - Professional/legal/consultancy services (individual): 5% - Construction/supply of goods: 2.5%
Summary: - Subtotal (sum of line items before WHT) - Total (after WHT deduction — the amount actually paid to supplier)
Notes — optional free text
Supplier Invoice/Documents: - Upload the supplier's actual invoice document - Formats: PNG, JPG, WebP, PDF — max 750KB - Essential for audit trail — FIRS may require proof of the underlying obligation
Recurring Bill: - Checkbox to enable automatic generation of this bill on a regular schedule - Useful for monthly rent, retainer fees, subscriptions
Action buttons: - Cancel — discards and returns to list - Save as Draft — saves without posting to GL - Create Bill — creates and posts to GL immediately
2.4 Bill detail page (/bills/:id)¶
Header actions: - Void Bill — cancels the bill and reverses the GL - Record Payment — opens a payment recording dialog
Overview panels: - Status badge, Bill Date, Due Date - Supplier panel — shows supplier name, email, and phone
Note (2026-03-31): Supplier contact information (email, phone) is visible and unmasked on the Bill detail page (
info@adekunlelegal.ng,+234 803 456 7890), even though the same contacts display masked on the Suppliers list page. This means businesses needing to contact a supplier can find full contact details via the bill — this is a workaround for the active Suppliers masking bug.
- Description — bill description text
- Line Items table — Description / Account / Quantity / Unit Price / Amount; each line has an Edit button
- Summary — Subtotal / Total (after WHT)
- Supplier Documents — uploaded supplier invoice documents; "Add Documents" button if none attached
General Ledger Audit (expandable):
For a bill with WHT deducted, a WHT provision journal entry is created:
| Account | Description | Debit | Credit |
|---|---|---|---|
| 2022 WHT Receivable | WHT provision for Bill BILL-XXXX | ₦15,000 | — |
| 2027 WHT Payable | WHT provision for Bill BILL-XXXX | — | ₦15,000 |
The WHT provision records the obligation: the business owes the WHT to FIRS (2027 WHT Payable) and has a corresponding receivable representing what was withheld from the supplier (2022 WHT Receivable).
The full bill accounting lifecycle: 1. Bill creation → Dr Expense Account / Cr Accounts Payable (the liability is recorded) 2. WHT provision → Dr WHT Receivable / Cr WHT Payable (the withholding obligation) 3. Payment to supplier → Dr Accounts Payable / Cr Cash (net of WHT — e.g. ₦135,000 on a ₦150,000 bill) 4. WHT remittance to FIRS → Dr WHT Payable / Cr Cash (₦15,000 sent to FIRS)
Payment History — shows all payments recorded against this bill
3. Business rules & constraints¶
| Rule | Detail |
|---|---|
| Bills create accounts payable | Unlike Expenses, a Bill does not require immediate payment — the liability is held until paid |
| WHT is deducted from the total paid to supplier | The business pays supplier (Total − WHT), then remits WHT separately to FIRS/LIRS |
| Line items support VAT | VAT % per line is entered manually on bills (unlike invoices which auto-apply 7.5%) |
| Partial payments are supported | Multiple payments can be recorded against one bill |
| Recurring bills auto-generate | The next recurrence is created when the checkbox is enabled and a schedule is set |
| Bill can be edited before payment | Line items can be edited from the bill detail page; once paid, contact Tier 3 |
| Voiding reverses the GL | Voiding a paid or partially paid bill requires voiding payments first |
| Draft bills do not post to GL | Only "Create Bill" posts the accounting entries |
4. Nigerian regulatory context¶
WHT on supplier payments - Businesses paying suppliers for services must deduct WHT at source and remit to FIRS - The WHT deduction reduces the net amount paid to the supplier (e.g. ₦150,000 service → ₦15,000 WHT deducted → ₦135,000 paid to supplier) - The WHT is remitted to FIRS and the supplier receives a WHT certificate they can use to offset their own tax liability - WHT rates under Nigerian tax law: - Professional services (legal, accounting, consultancy) from companies: 10% - Professional services from individuals: 5% - Construction, building, survey: 2.5% - Rent payments: 10% (company) or 10% (individual) - Goods supply: 2.5% - Supplier TIN is required to file WHT Returns with FIRS — record it in the Suppliers section
WHT filing - After deducting WHT from bills, the business files a WHT Return with FIRS (Tax Management → WHT Returns) - WHT must be remitted by the 21st of the month following deduction - FIRS issues WHT certificates to suppliers upon receiving the remittance
Accounts payable and cash flow - Bills with payment terms (30, 60, 90 days) allow businesses to manage cash flow by deferring payments - The Overdue KPI and status filter help businesses identify bills that need immediate payment
5. Common customer questions¶
Q: "What's the difference between a Bill and an Expense?"
An Expense is paid immediately (cash, card, or bank transfer on the spot). A Bill is a supplier invoice received for payment later — it creates a debt you owe. Use Bills for any purchase with payment terms or where you haven't yet paid. Use Expenses for immediate payments.
Q: "How do I record that I've paid a bill?"
Open the bill (from the list or via "View Details") and click Record Payment. Enter the payment date, amount, and method. If you're paying the full amount, the status will update to Paid. For a partial payment, it becomes Partially Paid.
Q: "The bill total is less than the line item total. Why?"
WHT has been deducted. The "Total" on a bill is the amount payable to the supplier (after deducting Withholding Tax). The WHT amount is paid separately to FIRS. Check the bill summary — Subtotal shows the full service value, Total shows what the supplier receives.
Q: "My supplier is asking me why they received less than the full invoice amount."
This is expected when WHT was deducted. The supplier should receive a WHT certificate from FIRS after the business remits the withheld amount. Advise the business to complete their WHT Return filing (Tax Management → WHT Returns) to trigger the certificate.
Q: "I can't find my supplier's phone number on the Suppliers page — it's showing as asterisks."
As a workaround, open a bill linked to that supplier — the supplier's full contact details (name, email, phone) are displayed unmasked on the bill detail page. The masking issue is specific to the Suppliers list page; see the Suppliers wiki article for full escalation guidance.
6. Known edge cases¶
Bill past due but still showing "Pending" (not "Overdue")¶
Status transitions to Overdue via a scheduled job. If a bill was due yesterday and still shows Pending, it should update to Overdue shortly. If it persists for more than 24 hours, escalate to Tier 3.
Production observation (2026-03-31): BILL-2026-001 (due 30 Mar 2026) was showing as "Pending" on 31 Mar 2026 — one day overdue. May be a status update timing issue.
WHT provision JE showing as REVERSED¶
On BILL-2026-001 (production), the WHT provision JE (JE-007) shows status REVERSED rather than POSTED. This may be related to earlier data correction work. If a business reports WHT amounts are incorrect or not reflected in WHT Returns, escalate to Tier 3.
Supplier contact info masked on Suppliers page but unmasked on Bill detail¶
The Bill detail page shows full supplier contact info (email, phone) even while the Suppliers list masks them. This is a known PII encryption discrepancy — see Suppliers article. The bill detail display is correct; the Suppliers page masking is the bug.
Recurring bill creation¶
When recurring is enabled and a new cycle triggers, the new bill is created with the same details as the original. If pricing changes, the business needs to edit each new bill manually. There is no bulk-update mechanism for recurring bill terms.
7. Escalation trigger¶
Escalate to Tier 3 (Founder) if: - Bill GL Audit shows "Invalid" on a journal entry - Bill paid in full but still showing as Pending or Partially Paid - WHT was deducted but not appearing in WHT Returns - Bill status stuck on Pending for a bill that is clearly overdue (>24 hours past due date) - Voiding a bill fails or does not reverse the GL correctly
Escalate to Tier 2 (Support Lead) if: - Business wants to bulk-import bills from CSV - Recurring bill schedule needs to be changed - Business unsure of the correct WHT rate for a specific service type
8. Last reviewed¶
2026-03-31 — Nnamdi. Verified against production. New Bill form fully captured (line items, WHT checkbox, recurring feature, document upload). Bill detail confirmed: status lifecycle, supplier panel (contacts visible unmasked — contrast with Suppliers page bug), line items with edit, GL Audit panel. Sample BILL-2026-001: Adekunle Legal Chambers, ₦150,000 legal services, 10% WHT → ₦15,000 withheld → ₦135,000 payable. GL: Dr 2022 WHT Receivable ₦15,000 / Cr 2027 WHT Payable ₦15,000. JE-007 shows REVERSED status — flagged as potential issue.