Mahougnon Tossou is the accountant of the Groupe Gbaguidi. The group sells in several cities, and every time the VAT or another levy changes, someone has to update prices by hand and hope nothing is forgotten. Mahougnon wants the rates written once, a clear rule for how they combine, and a way to see the result on a price before any customer does. This page follows Mahougnon as she defines the group’s taxes. It describes how Exowpee computes taxes from the rates you give it; the rates themselves, and when they apply, are yours to set according to the rules that bind your business.

Who works where

VAT rates, the other taxes and tax profiles belong to a fiscal profile: the organization, the country and the fiscal status of the company. Every company of the organization with the same country and fiscal status shares them. A change made by one company is therefore seen by the others of that profile.

Create the VAT rates

Mahougnon starts with the VAT rates. Create a VAT rate takes a code, a rate and, optionally, makes it the default. The default rate applies to every taxable item that gets no rate from its own settings or from its category. Making a new rate the default removes the flag from the previous one. She finds rates again with List VAT rates and View a VAT rate, changes one with Edit a VAT rate, and removes an unused one with Delete a VAT rate.

Create other taxes

For a levy that is not the VAT, she uses Create a tax. A tax is either a percentage or a fixed amount, and applies either to items or to whole orders. A custom tax changes no price until it is assigned: see Apply taxes to products and orders. If one tax is computed on top of another, Set tax dependencies lists which taxes it builds on. Exowpee refuses a chain that loops. She reads taxes with List taxes and View a tax, and edits one with Change a tax. An unused tax is removed with Delete a tax.

Choose how rounding goes

When a tax does not divide evenly, a remainder must go somewhere. View a tax profile shows the rounding setting of the profile, and Change tax rounding chooses whether the remainder goes to the net amount or to the tax. List tax profiles lists the profile of the company. Stored prices are not recalculated by this change.

Check the result before it goes live

Before she tells the shops, Mahougnon runs Simulate tax on a price on an item, with a price and a quantity. Nothing is saved: she only sees the taxes and totals Exowpee would compute.

The rules

  • The code of a tax or VAT rate is unique within the profile and cannot be changed. Neither is kept as a deleted record once removed.
  • A tax is a percentage (it needs a rate and refuses a fixed amount) or a fixed amount (it needs a fixed amount, in whole minor units, and refuses a rate). Amount type and scope cannot be changed afterwards.
  • A rate is between 0 and 999.999999, with at most 6 decimals.
  • A tax that applies to items needs a default price inclusion policy and refuses an order calculation base. A tax that applies to orders is the opposite.
  • Built-in taxes, such as the VAT, cannot be changed or deleted.
  • A tax cannot be deleted while another tax depends on it, while a category or an item uses it, while a price carries a setting for it or while an order selects it. It cannot be deactivated while an order, a category or an item uses it.
  • Dependencies must be active taxes of the same profile and scope. The whole graph must stay valid, with no loop.
  • A VAT rate cannot be default and inactive at once. The current default cannot be un-defaulted or deleted: promote another active rate. A rate used by a category or an item cannot be deleted or deactivated.
  • Any change to a tax, dependency or VAT rate is refused when it would make a stored price impossible to calculate. Stored prices are re-checked, not rewritten.
  • Rounding favors the net amount or the tax. When omitted or null, the current value is kept.
  • Simulating needs an item visible to your company and a price in major units. A price the taxes cannot split is refused.

All the actions of this topic