Skip to main content

Invoicing

The Invoicing module manages the full sales invoice lifecycle — from draft creation to payment — with TRA-compliant VAT treatment, multi-currency support, and automatic General Ledger posting.

Prerequisites

Set up your Posting Setup so that invoice approval and payment automatically generate the correct AR, VAT, and Revenue journal entries.


Status lifecycle

Draft → Sent → Paid

Overdue

Void
StatusMeaning
DraftCreated but not yet sent. Fully editable.
SentIssued to the client. Edits are locked.
PaidPayment received in full.
OverduePast the due date with no payment recorded.
VoidCancelled. Retains the record for audit purposes.

Invoices past their due date are automatically flagged Overdue when the system loads.


Creating an invoice

From a job (most common)

  1. Go to Jobs → open the relevant job
  2. Click Create Invoice
  3. The system pre-fills line items from income records
  4. Adjust as needed, then save as Draft

Standalone invoice

  1. Go to Finance → Invoices
  2. Click + New Invoice
  3. Select the customer
  4. Add line items manually
  5. Save as Draft

Line items

Each line item contains:

  • Description — what the service or product is
  • Quantity and Unit (e.g. kg, trip, container)
  • Unit Price and Total
  • VAT Rate — per line (defaults to tenant VAT rate)

VAT treatment

ModeHow it works
VAT ExclusiveVAT is added on top of the net amount. Subtotal + VAT = Total.
VAT InclusiveVAT is extracted from the gross amount. Total already includes VAT.

Tanzania standard rate is 18%. International freight (export haulage) is typically zero-rated — set VAT to 0% on those lines.

caution

This is general guidance only. Confirm your specific VAT obligations with a qualified tax advisor.


Multi-currency

Invoices can be issued in any supported currency: TZS, USD, EUR, GBP, ZAR, ZMW.

Set the currency on the invoice header. Exchange rates are entered manually — always record the rate at the time of invoicing for accurate TZS-equivalent reporting.


Sending an invoice

From the invoice detail view, click Send. This opens a pre-filled email form with:

  • Recipient email (from the customer profile)
  • Subject and body with invoice number and total
  • Invoice status automatically changes to Sent

You can also click Print / PDF to download a branded PDF and attach it manually to your own email.


PDF download

Click the Download PDF icon on any invoice to generate a print-ready PDF:

  • A4 format, multi-page if needed
  • Includes company logo, TIN, stamp, and payment details
  • Suitable for emailing directly to clients or filing for TRA purposes

Marking as paid

  1. Open a Sent or Overdue invoice
  2. Click Mark Paid

If Posting Setup is configured, this creates a posted payment journal:

DR Bank / Cash Account [total]
CR Accounts Receivable [total]

GL posting

When Posting Setup is configured, invoices automatically post journal entries to the General Ledger:

EventJournal created
Invoice sentDR Accounts Receivable / CR Revenue / CR VAT Payable
Invoice paidDR Bank / CR Accounts Receivable

The GL journal number is shown on the invoice after posting. Click it to view the journal entry directly.


FactBox

Click any row in the Invoices list to open the FactBox — a summary panel showing customer, dates, total, and status. From the FactBox you can:

  • Open Invoice → — navigate to the full detail page
  • Mark Paid — mark as paid directly from the list

AR Aging

Go to Accounting → Reports → AR Aging for a full aging breakdown of all outstanding customer invoices:

BucketDays past due date
CurrentNot yet due
1–30 daysRecently overdue
31–60 daysOverdue — follow up
61–90 daysSignificantly overdue
90+ daysEscalate

Permissions

PermissionWhat it allows
invoice.viewView the invoice list and details
invoice.createCreate new draft invoices
invoice.editEdit draft invoices
invoice.deleteDelete draft invoices
invoice.sendSend invoices and mark as paid

Assign these in Settings → Access → Roles.