Tax Setup
Configure tax components, tax groups, and per-tax-code rates for your country's tax regime.
Tax Setup#
Tax Setup is where all of Neriyam's tax data lives — the individual levies, the named bundles, and the per-item-code rate mappings. Once configured, Neriyam's tax engine uses these rules automatically when computing tax on purchase orders and sales orders.
The model is country-agnostic. Whether you operate under Indian GST, UK VAT, US sales tax, Canadian GST/HST/PST, Australian GST, German MwSt, or another regime, the same three tiers describe what you owe and to whom. Read Tax determination first for the concepts and the country-specific seed data Neriyam ships with.
Settings › Tax Setup in the sidebar.
Auto-seeding by country#
When your organization was created, Neriyam looked at the country in your Company Profile and pre-populated this page with a starter set of components, groups, and applicability lines tailored to that country. Supported seed sets cover India, United Kingdom, United States, Canada, Australia, and Germany. Other countries get a generic default with placeholder groups that admins fill in.
See Tax determination — Auto-seeding by country for the exact components, groups, and rates seeded for each country.
The seed is a starting point — every component, group, applicability line, and rate is editable on this page. You can extend, replace, or rebuild from scratch.
Three tabs#
The page has three tabs, each covering one tier of the tax model:
- Tax Components — the individual levies
- Tax Groups — named bundles of components with applicability rules
- Tax Rates — per-tax-code rate mappings with effective dates
Each tab has its own edit permission — see the Permissions section.
Tax Components#
The atomic levies that appear on a tax invoice. Examples by country:
| Country | Components |
|---|---|
| India | CGST, SGST, IGST, UTGST, CESS |
| United Kingdom | VAT |
| Germany | MWST |
| Australia | GST |
| United States | STATE_TAX, COUNTY_TAX, CITY_TAX |
| Canada | GST, PST, HST |
List columns#
- Code (monospace)
- Name
- Display Order (numeric)
- Active (status badge)
- Actions (edit, activate/deactivate, delete)
Create / edit fields#
| Field | Required | Notes |
|---|---|---|
| Code | Yes | Short unique identifier (e.g., CGST, VAT, MWST) |
| Name | Yes | Display name (e.g., "Central GST", "Value Added Tax") |
| Description | No | Free text |
| Display Order | No | Controls the order on printed tax summaries |
| Active | Yes | Toggle |
Tax Groups#
Named bundles of components at specific rates. A group represents the tax bracket users think about — "GST 18%", "VAT Standard", "California Sales Tax", "HST Ontario" — and internally expands into the right components depending on place of supply.
List columns#
- Code (monospace)
- Name
- Total Rate (%)
- Components (count)
- Active (status badge)
- Actions (edit, activate/deactivate, delete)
Create / edit fields#
| Field | Required | Notes |
|---|---|---|
| Code | Yes | Short unique identifier (e.g., GST18, VAT_STD, TAX_CA) |
| Name | Yes | Display name (e.g., "GST 18%", "VAT Standard Rate") |
| Description | No | Free text |
| Total Rate (%) | Yes | The headline rate (used for quick validation against component lines) |
| Component Lines | When Total Rate > 0 | Per-component rows — see below |
| Active | Yes | Toggle |
Component lines#
Each component line inside a group has:
| Field | Notes |
|---|---|
| Component | Picker — one of your tax components |
| Rate (%) | Number |
| Applicability | Dropdown: All / Intra-State / Inter-State / Intra-UT |
Multi-applicability example — GST 18% (India)#
The group expands differently depending on whether the supply is intra-state, intra-UT, or inter-state:
| Component | Rate | Applicability |
|---|---|---|
| CGST | 9 | Intra-State |
| SGST | 9 | Intra-State |
| UTGST | 9 | Intra-UT |
| IGST | 18 | Inter-State |
Single-rate example — VAT Standard (UK)#
A single line with Applicability = All covers all transactions:
| Component | Rate | Applicability |
|---|---|---|
| VAT | 20 | All |
Same pattern for German MwSt 19% (MWST 19 ALL) and Australian GST 10% (GST 10 ALL).
Combined-tax example — Quebec (Canada)#
Two component lines that always apply together:
| Component | Rate | Applicability |
|---|---|---|
| GST | 5 | All |
| PST | 9.975 | All |
Neriyam's tax engine picks the lines whose applicability matches the document's place of supply, applies their rate to the taxable amount, and adds them up.
Validation hints#
- If Total Rate > 0, you must have at least one component line
- Duplicate components (same component twice in the same group with the same applicability) are blocked
- Rates should sum to the Total Rate for each applicability slice — Neriyam shows hints like "expected 18%" when they don't
For tax-exempt / zero-rated items, create a group with Total Rate 0 and no component lines.
Tax Rates#
The mapping from a tax code (HSN/SAC in India, commodity or product type elsewhere) to a tax group, with an effective-from date.
List columns#
- Tax Code (monospace; the HSN/SAC or your product taxability code)
- Description
- Tax Group (name)
- Effective From (date)
- Effective To (date; blank if open-ended)
- Active (status badge)
- Actions (edit, activate/deactivate, delete)
Search and filter#
- Search by tax code — text input
- Group dropdown — All Groups, or filter to one
- Show Inactive checkbox
Create / edit fields#
| Field | Required | Notes |
|---|---|---|
| Tax Code | Yes | HSN/SAC (India) or your tax classification code (e.g., 7214) |
| Description | No | Free text describing the goods/services |
| Tax Group | Yes | Searchable picker |
| Effective From | Yes | Date; when this rate applies from |
| Effective To | No | Date; leave blank for open-ended |
| Active | Yes | Toggle |
Effective dating behaviour#
When you add a new rate for an existing tax code with an Effective From date, Neriyam automatically closes the previous rate by setting its Effective To to the day before the new one starts. This gives you a clean audit trail of "what rate was in effect for this tax code on any given date."
If you explicitly set Effective To, the rate is closed on that date; new transactions after that date find no effective rate and Neriyam warns you.
Tax-rate changes are typically dictated by statute. Do not casually edit existing rates — add a new rate with the correct Effective From date and let Neriyam close the old one. That keeps the historical audit trail intact.
How these feed documents#
When a user adds a line to a PO or SO:
- Neriyam looks at the item's tax code
- Finds the matching Tax Rate with today's date in its effective window
- Pulls the linked Tax Group
- Filters the Group's components by the document's place of supply (e.g., intra-state vs. inter-state for India;
ALLfor single-rate regimes like UK / Germany / Australia) - Applies the rates — shows the per-line tax amount and the per-header tax summary
All of this is automatic; users do not see the tax-engine plumbing.
Permissions#
Three separate permissions gate the three tabs:
| Tab | View permission | Edit permission |
|---|---|---|
| Tax Components | TAX.VIEW_TAX | TAX.MANAGE_TAX_STRUCTURE |
| Tax Groups | TAX.VIEW_TAX | TAX.MANAGE_TAX_STRUCTURE |
| Tax Rates | TAX.VIEW_TAX | TAX.MANAGE_TAX_RATES |
This split lets you grant a user authority to update rates (day-to-day work when statute changes) without also letting them restructure components or groups.
Related#
- Tax determination — the conceptual model and full per-country seed data
- Items — where each item's tax code is set
- Purchase Orders and Sales Orders — where the tax engine runs
Last updated