Invoices
An invoice in Novex is a tax-compliant bill issued to a client. For Saudi Arabia clients with a VAT number, Novex signs the invoice via ZATCA Phase 2 (Fatoorah) and embeds the cryptographic stamp + QR code automatically. Non-KSA invoices skip the ZATCA step.
The redesigned invoices list and detail show each invoice’s status as a colour-coded badge, with amounts in tabular, two-decimal figures in the document currency, so balances, paid amounts, and totals stay easy to scan at a glance.
Create an invoice
There are two paths:
- From a quotation — click Build invoice from this quote on an
APPROVED/SENT/VIEWED/ACCEPTEDquotation. Recommended path — carries cost lines and discount across exactly. - From scratch — Finance → Invoices → + New invoice. Pick a client, pick an event (optional), add cost lines manually.
Cost lines
Cost lines on an invoice are the ACTUAL lines (vs. the QUOTED lines on a quotation). The conversion duplicates each QUOTED line into a new ACTUAL line that back-points to the original. You can then:
- Adjust quantity, days, or unit price (e.g. final headcount was 320, not the quoted 300 — bump catering; or extend an item from 2 days to 3).
- Add lines for last-minute scope (e.g. extra signage).
- Remove lines that didn’t happen.
Each line total is quantity × days × unit price (leave days at 1 for flat
items), the same day-aware shape used on quotations and budgets. Every edit is
audit-logged with before/after on the line.
ZATCA Phase 2 e-invoicing (KSA)
When the client has a Saudi VAT number, Issue triggers the ZATCA flow:
- Novex builds the UBL 2.1 XML payload.
- Signs it with your tenant’s CSID certificate (uploaded once — see ZATCA setup).
- POSTs to the ZATCA Reporting API (B2C) or Clearance API (B2B).
- ZATCA returns a cleared XML + a QR code. Novex stamps both into the PDF.
- The invoice flips from
DRAFTtoISSUEDand is final.
If ZATCA rejects (cert expired, payload error, taxpayer block), the invoice
stays DRAFT with the rejection reason surfaced inline. Fix and retry.
Invoice status
| Status | Meaning |
|---|---|
DRAFT | Editable. No ZATCA submission yet. |
ISSUED | Final. PDF available. ZATCA-stamped if applicable. |
PARTIALLY_PAID | One or more payments recorded; balance owed. |
PAID | Fully reconciled. |
OVERDUE | ISSUED + past payment-terms days. |
VOIDED | Cancelled. Requires reason + audit trail. |
Record a payment
- Open an
ISSUEDinvoice. - Click + Record payment.
- Enter amount, date, method (Bank transfer / Cash / Card / Other), and a reference (bank transfer ID, cheque number).
- Save.
Multiple partial payments are supported. The balance and status update live. Recorded payments can be edited or deleted from the payment history timeline — each change is audit-logged.
Send to the client
Click Email invoice on an ISSUED invoice. Novex emails the client a PDF
attachment + a portal magic-link to view the invoice and (eventually) pay it.
VAT and discount
Same rules as quotations:
- VAT is calculated per line.
- Discount is at the invoice level, accepts amount or percent (the same toggle UI as quotations). Convention: VAT is computed on the pre-discount subtotal; discount applies to the final total.
Preview & print
An invoice’s Preview page renders the final branded document — letterhead, line items, totals, bank details, and (for KSA tax invoices) the ZATCA QR code. Print opens the browser’s Print / Save-as-PDF dialog and matches the preview exactly: full-bleed brand header, app chrome hidden, and colours forced on even when “Background graphics” is disabled. The emailed PDF is generated server-side and is aligned to the same branding and layout, so what the client receives matches what you preview. Header text auto-contrasts against your brand colour (see Branding).