VAT and withholding tax

Learn what VAT and withholding tax are in plain words, how to set up rates and groups, how tax shows on invoices, and where to find your VAT return.

13 min read Updated

Who is this for
Accountants, finance admins and anyone who prepares invoices
How long it takes
About 10 minutes to check your tax setup
What you need first
A Sales and Finance seat. Settings admin or accountant rights to change tax setup.
On this page

What VAT and withholding tax mean#

VAT (value added tax) is a tax added to the price of what you sell. You collect it from your customer and pay it to the government. It is not your income.

When Chidi buys something and pays VAT, he can often take that VAT off what he owes. This is called input VAT (VAT on things you buy). Output VAT is VAT on things you sell. What you owe the government for a period is output VAT minus input VAT.

Withholding tax (WHT) is different. Sometimes a business customer keeps back a small part of what they owe you and pays that part to the tax office on your behalf. It counts as tax you have already paid. So you receive a little less cash than the invoice says, and the tax office gives you credit for the rest.

Here is the key difference to remember:

VAT WHT
Where it appears On each invoice line On the payment
When When you issue the invoice When money is paid
Set up A tax group on the line A WHT rate on the payment form

What Hubtoll sets up for you#

The first time Finance is opened, Hubtoll seeds a tax profile from your company's country.

Country What is seeded
Nigeria A VAT rate called VAT 7.5% (code NG_VAT) and its group
Kenya VAT at 16%
South Africa VAT at 15%
Ghana VAT 15% plus the NHIL levy 2.5% and the GETFund levy 2.5%, as one group called GH_STANDARD (each tax worked out on the net amount)
Any other country No VAT profile. You create your own rates.

Every company also gets two WHT rates, WHT_5 (5%) and WHT_10 (10%).

These seeded rates are system rows. You can edit their percentage, name and account. You cannot delete them. To stop using one, deactivate it. If your country's rate is different today, edit it. Ask your accountant.

Look at your tax setup#

Open Finance SettingsTaxes. The page explains itself: "A rate is one percentage. A group bundles the rates a document line charges together: that is what invoices pick."

At the top is a collapsible box, How Tax Works Here, with worked examples. Below are two tables.

  • Tax Groups: What a Document Line Charges has the columns Code, Name, Effective rate, Components and Pricing. The Pricing column says Tax exclusive or Tax inclusive.
  • Tax Rates: The Individual Percentages has Code, Name, Type, Applied, Rate and Posts to. The Applied column tells you where a rate is used: "When a payment is recorded" for WHT, and "On document lines, via a group" for VAT and levies.

Rates and groups#

A tax rate is one percentage that goes to one account. For example, VAT 7.5%.

A tax group is what an invoice line actually charges. A group holds one or more rates. For Nigeria the group holds only VAT. For Ghana the group holds three rates together. Invoice lines pick a group, never a loose rate.

Add a rate#

  1. Open Finance SettingsTaxes and click New rate.
  2. Fill in Code, Name and Type. The types are VAT, Levy and Other.
  3. Type the Rate (%).
  4. Pick Posts to (liability account; default Output VAT). This is where the tax you collect is recorded.
  5. Fill in Jurisdiction and save.

WHT is not in the type list here, because WHT is taken at payment. WHT_5 and WHT_10 are already seeded. A tax output account must be a liability account, or you see "A tax output account must be a liability account". A repeated code shows "A tax rate with code X already exists".

Add a group#

  1. Click New group.
  2. Fill in Code and Name.
  3. Choose Compounding (see below).
  4. Switch on Prices include tax if your prices already contain the tax.
  5. Under Rates in this group, click Add rate for each rate to include.
  6. Save.

A group needs at least one rate and cannot hold the same rate twice. WHT cannot be put in a group: "Withholding tax is applied when recording a payment, not on document lines. Remove 'X' from this group".

Compounding: on net or on running total#

If a group has more than one rate, the Compounding choice decides how they stack.

  • On net (each rate on the line net): every rate is worked out on the same base.
  • On running total (tax-on-tax): each rate is worked out on the base plus the tax added so far.

Inclusive and exclusive prices#

  • Tax exclusive (the default): the price is before tax and tax is added. ₦100,000 plus 7.5% = ₦107,500.
  • Tax inclusive (Prices include tax is on): the price already contains tax. Hubtoll works backwards. A ₦107,500 line holds ₦100,000 of sale and ₦7,500 of tax.

Switch off, edit or delete#

Each row has icons to switch it active or off, Edit and Delete. Delete is not offered for system rows. Hubtoll protects what is in use:

  • "A seeded tax rate cannot be deleted. Deactivate it instead".
  • "This rate is part of an active tax group. Remove it from the group (or deactivate the group) first".
  • "This tax group is the default for one or more items. Reassign the items first".
  • "This tax group is used by an unposted invoice or credit note. Update those documents first".

Deleting asks Delete tax rate? or Delete tax group? Posted documents keep the tax they already have.

Tax on an invoice#

Which group a line uses#

Each invoice line has a Tax picker. If the line's item has a Default sales tax, it is pre-selected. Change it on a line if that line is different, for example an exempt item. You set an item's default in Sales & ReceivablesItems, under Default sales tax and Default purchase tax.

Remove tax from a line#

  1. Open the draft invoice (or quote, or credit note).
  2. On the line, click the Tax picker and clear it, so it shows no group.
  3. Save the draft.

Customers who pay no tax#

A customer's Tax treatment can override a line's tax. If it is Registered, tax is charged normally. If it is Exempt, Zero-rated or Export, nothing is charged today. They differ only in how the sale is reported. Set it on the customer. See Sell: customers, quotes, invoices and payments.

How the total is worked out#

  • A document discount is spread across the taxable lines before tax. VAT is charged on the discounted amount.
  • When you Issue, tax is worked out again from the group as it is at that moment. If someone changed the group while the invoice was a draft, the issued total reflects the group today.
  • If a line's tax group was deleted or switched off, Hubtoll refuses to issue instead of posting the invoice untaxed.

Withholding tax on a payment#

WHT is taken at payment, not on a line.

When a customer withholds tax#

On Sales & ReceivablesPayments, click Record payment. Fill in the customer and the invoices you are paying. Then use either:

  • WHT rate (optional, fills the amount): pick a rate and Hubtoll fills in the amount for you.
  • WHT withheld by customer (optional): type the amount yourself.

Hubtoll charges WHT on the net (before VAT) amount of the invoices, not on the VAT.

Rules to know:

  • The withheld amount must be applied to invoices. You see "Withheld tax must be applied to invoices; it cannot be kept on account." It can never become a customer advance.
  • You can fill in the rate before or after choosing invoices. While the amount still equals the rate's own figure, it follows your invoice amounts as you change them.
  • Fill balance takes the withholding into account, so the invoice ends fully settled.

When you withhold tax from a vendor#

It works the same way in reverse. On Payables & BillsPayments Made click Record payment. Use WHT rate (optional, fills the amount) or WHT withheld from vendor (optional). The WHT type field is a label: Services (5%), Rent (10%), Dividends / interest (10%), Contracts / supplies (5%), Consultancy / professional (10%) or Commission (10%). The tax you hold goes to WHT Payable: money you owe the tax office. The error to know is "Withheld tax must be applied to bills; only the cash portion can be prepaid to the vendor."

See Buy: vendors, orders, bills and payments.

The VAT Return#

Open Sales & ReceivablesVAT Return. The page says: "Output VAT charged on sales, less recoverable input VAT, for a period, with the NRS filing deadline."

  1. Pick the date range. It starts as the current calendar month.
  2. Click Run.

The Due date is always the 21st of the month after the period ends. That is the Nigerian rule, and Hubtoll uses it for every country. If you are not in Nigeria, ignore that date and use your own tax office's deadline.

Input VAT comes from tax on the bills you posted. Hubtoll reports the numbers. You file them with your tax authority yourself.

The WHT Ledger#

Open Sales & ReceivablesWHT Ledger. The page says: "Withholding tax customers deducted from you (a credit against your tax) and WHT you withheld from vendors."

  1. Pick the date range.
  2. Click Run.

You see the Receivable total (tax your customers withheld from you) and the Payable total (tax you withheld from vendors), and a table with Date, Journal, Direction, Narration and Amount. If nothing happened, it says "No withholding tax movements in this period."

Who can do what#

You want to You need
Change tax rates and groups in the console Finance Settings Admin (FIN_SETTINGS_ADMIN) or Finance Accountant (FIN_ACCOUNTANT)
Pick a tax group on an invoice line Finance Management Editor (FIN_MANAGEMENT_EDITOR) and above
Record a payment with WHT Finance Management Initiator (FIN_MANAGEMENT_INITIATOR) and above
Run the VAT Return and WHT Ledger A finance role that can read reports

The server also accepts the Finance Tax Admin permission (FIN_TAX_ADMIN) for tax setup, but the console menu needs settings admin or accountant rights. See Roles: give people the right access.

Common questions#

Why is no tax added to my invoice?

Check three things. Does the line have a Tax group? Does the customer's Tax treatment say Registered? Is your country's VAT set up? In a country with no seeded profile you add the rates and groups yourself.

I cleared the tax on a line, but it came back.

Save the draft after clearing it. Hubtoll keeps a cleared picker as "no tax". If you re-create the line from an item, the item's default tax is picked again, so clear it again.

Why can I not put WHT in a tax group?

WHT is taken from a payment, not added to a line. Putting it in a group would charge your customer WHT as if it were VAT. Use the WHT rate on the payment form instead.

Is the VAT due date right for my country?

The VAT Return shows the 21st of the following month, which is the Nigerian rule. It is the same for every company, so check your own country's deadline with your accountant.

Does Hubtoll file my tax?

No. It records your tax and reports the figures. You file with your tax authority.

Did this answer your question?
Still stuck? A real person will help.

Message us on WhatsApp or email cloud@digitalvortextech.org. We usually reply within a few hours (Mon–Fri, 8:00–19:00 GMT). Inside Hubtoll you can also raise a support ticket from the avatar menu.