Odoo Gold Partner for Nigeria · Offices in Lagos and AbujaClient supportadvisors@growthstack.gs+234 913 842 1230

VAT, WHT and FIRS E-invoicing in Odoo: What Nigerian Businesses Need to Know

Finance team reviewing tax schedules and invoices at a meeting table

Ask a finance team in Nigeria where their ERP or accounting system causes the most work, and tax is near the top of the list.

In many businesses, VAT and withholding tax (WHT) are worked out in spreadsheets next to the ledger rather than in it. Invoices go out, payments come in, and at month-end someone builds the VAT schedule and the WHT schedule by hand and tries to make them agree with the accounts. FIRS e-invoicing raises the bar further, because tax details now need to be right on every invoice when it is issued, not fixed later.

This article explains how VAT and WHT are handled in Odoo, what e-invoicing means for your system, and what to get right before you go live.

VAT in Odoo

VAT in Nigeria is charged at 7.5% on most goods and services. In Odoo, VAT is set up as a tax rule and applied automatically rather than calculated by hand.

  • Taxes on products and services. Each product or service carries its default sales and purchase tax. When it is added to an invoice or bill, VAT is calculated on the line.
  • Taxes by customer and supplier. Some customers or suppliers need different treatment. Odoo's fiscal positions map the default tax to the right one for that customer, so the person raising the invoice does not have to remember the exceptions.
  • Exempt and zero-rated items. Items that are exempt or zero-rated get their own tax codes, so they appear correctly on invoices and in reports instead of being left blank.
  • Output VAT and input VAT. VAT on sales and VAT on purchases post to separate accounts, so the amount due for the period comes straight from the ledger.
  • A VAT report that ties to the ledger. Because every figure comes from posted invoices and bills, the VAT report agrees with the general ledger by design. There is no separate schedule to reconcile.

WHT in Odoo

Withholding tax works differently from VAT, which is why it is so often left outside the system.

  • Deducted at payment. WHT is usually deducted when an invoice is paid, not when it is raised. In Odoo, we set this up so the deduction is calculated when the payment is recorded and the net amount is paid or received.
  • Rates by type of transaction. WHT rates vary by the type of transaction and the type of recipient. Each rate is set up as its own tax, so contracts, services, rent and other categories are handled correctly. Agree the rates that apply to your business with your tax adviser before they are configured.
  • WHT payable and WHT receivable. WHT you deduct from suppliers is a liability to be remitted. WHT your customers deduct from you is an asset you can use as a credit. Odoo keeps them in separate accounts, so both are visible and can be reconciled.
  • Credit notes. When an invoice is reversed with a credit note, the tax is reversed with it, so the WHT and VAT balances stay correct.

FIRS e-invoicing

As of November 2026, FIRS is rolling out an electronic invoicing system for Nigerian businesses. The rollout is in phases, and which businesses are covered, and when, depends on criteria FIRS sets. Check the current phase and requirements on the FIRS website or with your tax adviser, because they change as the rollout progresses.

What it means in practice. Invoices are no longer just documents you send to customers. Each invoice is submitted to FIRS and validated, and the validated invoice carries a unique reference and a QR code that the customer and FIRS can use to confirm it is genuine.

What your ERP has to do. To work with e-invoicing, your system needs to:

  • produce invoices as structured data, with the details FIRS requires, such as your TIN, the customer's details and tax amounts by line
  • connect to FIRS, usually through an approved provider or integration, to submit each invoice and receive the validation back
  • store the reference and QR code with the invoice and print them on it
  • handle credit notes and cancellations in the same way

How Growth Stack approaches it. We start by making sure the basics are right in Odoo: customer records with valid TINs, products mapped to the right tax types, and VAT calculated on every line. Clean tax data is what e-invoicing depends on. We then connect Odoo to e-invoicing through an approved route, and test invoices from start to finish before they are used for real. Because the rules are still being rolled out, we review the set-up with clients as FIRS publishes updates.

A checklist for finance teams

Whether you are moving to Odoo or reviewing an existing set-up, these steps make the biggest difference:

  1. Clean up customer and supplier TINs. Missing or wrong TINs cause problems for both WHT credits and e-invoicing. Fix them in the master data before go-live.
  2. Map every product and service to a tax type. Standard rate, exempt or zero-rated, with no blanks.
  3. Agree WHT rates with your tax adviser. Confirm which rates apply to which suppliers and services, and document them before they are configured.
  4. Decide who owns tax set-up. Someone in finance should approve any new tax or change to an existing one.
  5. Test before go-live. Raise test invoices, bills, payments and credit notes, and check the VAT and WHT reports against what you expect.

Getting tax right inside the ledger also shortens the month-end close, which we cover in Why Month-End Close Takes Weeks. If you are still on standalone accounting software, QuickBooks, Sage or Odoo? looks at when it makes sense to move.

Review your tax set-up with us

If your VAT and WHT are still worked out in spreadsheets, or you are not sure your system is ready for e-invoicing, book a free consultation. We'll review your current tax set-up and show you how it would work in Odoo.

Thinking about Odoo for your business?

Talk to a Growth Stack consultant about your processes, timeline and budget. The first consultation is free.

Book a free consultation

Keep reading