Tax, GST & VAT Compliance

Site: Learn at Merupu AI
Course: SamvraCore ERP
Book: Tax, GST & VAT Compliance
Printed by: Guest user
Date: Tuesday, 27 October 2026, 7:29 AM

Description

Automated tax determination plus dedicated India GST and EU VAT compliance.

1. The Tax Rules Engine and Tax Rates

Priority-ordered rules

The generic (non-GST) tax engine is driven by a Tax Rules page (TaxRulesPage). Rules are priority-ordered, so when more than one rule could apply the engine selects based on that ordering. Each rule can carry conditions on jurisdiction, customer type and product category, which means tax selection is automatic rather than a manual choice on every transaction.

Condition dimensions

The condition dimensions reflect real tax logic. Jurisdiction-based conditions apply tax by country and state. Customer-type conditions distinguish categories such as retail, wholesale and government. Product-category conditions let different kinds of products attract different rates. A single rule can combine these so that, for example, a particular product category sold to a particular customer type within a particular jurisdiction resolves to the correct rate.

Tax rates

Tax Rates (TaxRatesPage) hold the actual rate values that the rules resolve to. The rules engine decides which rate applies and the rate table supplies the number used in the calculation. This separation keeps rate maintenance independent of the selection logic. A typical configuration workflow is to define the rates first, then build priority-ordered rules whose conditions map each combination of jurisdiction, customer type and product category onto the right rate, so that invoices and orders then compute tax automatically from the transaction's attributes.

2. Jurisdictions, Product Categories and Exemptions

Tax jurisdictions

Tax Jurisdictions (TaxJurisdictionsPage) define the geographic tax authorities that rules reference. Because tax rules can condition on jurisdiction at the country and state level, the jurisdiction list is what those conditions resolve against. This lets the same product be taxed differently depending on where the transaction takes place.

Product tax categories

Product Tax Categories (ProductTaxCategoriesPage) classify products for tax purposes and provide a category override. Rather than tagging every product individually with a rate, products are grouped into tax categories, and rules act on the category. The override capability means a category-level tax treatment can take precedence where needed.

Customer tax exemptions

Customer Tax Exemptions (TaxExemptionsPage) manage customers that should not be charged tax. Each exemption carries a certificate URL and valid-from and valid-to dates, so the exemption is backed by evidence and is time-bounded rather than permanent. This matters for audit, because an exemption is only honoured within its validity window and the supporting certificate is linked. A typical setup is to define jurisdictions, group products into tax categories, and record exemption certificates for exempt customers with their validity dates, after which the rules engine can resolve tax correctly for each transaction while respecting active exemptions.

3. Tax Periods and Tax Reporting

Tax periods

Tax Periods (TaxPeriodsPage) provide filing-period tracking. Tax obligations are organised into periods that correspond to filing cycles, which gives the organization a structure for knowing what belongs to each filing and when it is due. This is the backbone for staying on top of recurring tax filings.

Tax report

The Tax Report (TaxReportPage) summarises tax across several views. It can report by jurisdiction, by type, and can highlight overdue items. Reporting by jurisdiction shows how much tax relates to each authority, reporting by type breaks the figures down by the kind of tax, and the overdue view surfaces obligations that have passed their filing deadline.

Payment terms and discounts

Payment Terms (PaymentTermsPage) also sit within this area, supporting configurable terms with early-payment-discount support. While payment terms are primarily about settlement timing, they interact with the broader accounting flow that tax reporting draws on. A typical compliance workflow is to let transactions accumulate within the relevant tax period, then use the Tax Report to review amounts by jurisdiction and by type ahead of filing, paying particular attention to the overdue view so that no filing deadline is missed. Together, tax periods and the tax report turn individual taxed transactions into a filing-ready picture.

4. India GST Dashboard, Returns and Settings

GST dashboard and settings

India GST compliance is a dedicated module. The GST Dashboard (GSTDashboard) provides the central view, and GST Settings (GSTSettings) hold the organization's GST configuration. The GST namespace also exists in the internationalization layer, reflecting that GST is a first-class area of the product.

GST returns

GST Returns (GSTReturns) cover the standard Indian return types: GSTR-1, GSTR-3B, GSTR-2A and GSTR-2B. GSTR-1 and GSTR-3B are outward and summary returns the taxpayer files, while GSTR-2A and GSTR-2B are the auto-populated inward-supply statements used for reconciliation. Supporting these four types lets the module cover the core monthly GST return cycle.

Tax computation types

GST calculation handles the Indian split taxes, computing CGST, SGST, IGST and UTGST through pkg/gst/calculator.go and pkg/tax/gst_in.go. This split is central to Indian GST, where intra-state supplies attract CGST plus SGST, inter-state supplies attract IGST, and union-territory supplies involve UTGST. A typical workflow is to configure GST settings, let invoices compute the correct CGST, SGST, IGST or UTGST components based on the supply, and then prepare the GSTR returns from the resulting data, using the auto-populated GSTR-2A and GSTR-2B statements to reconcile input tax.

5. India GST GSTIN, State Codes, HSN and ITC

GSTIN validation and state codes

The module validates the 15-character GSTIN (the GST identification number) through pkg/gst/validator.go, so incorrectly formed identifiers are caught. It also carries 36 India GSTN state codes, spanning code 01 (Jammu and Kashmir) through code 38 (Ladakh). These state codes are integral to GST because the GSTIN encodes the state and because the state determines whether a supply is intra-state or inter-state.

HSN codes

HSN Codes (HSNCodes) provide Harmonised System of Nomenclature lookup. HSN codes classify goods for GST purposes, and the lookup lets the right classification be attached to products and invoices so the correct treatment follows.

Invoice-level GST fields and ITC

GST-specific invoice fields include Place of Supply, Recipient GSTIN and Reverse Charge. Place of Supply drives the intra-state versus inter-state determination, Recipient GSTIN records the counterparty's identifier, and Reverse Charge flags transactions where the recipient accounts for the tax. The ITC Ledger (ITCLedger) tracks Input Tax Credit, the mechanism by which GST paid on purchases offsets GST collected on sales. The module also includes an ARN reference and NIC integration scaffolding. A typical workflow is to validate the GSTIN, classify goods by HSN, capture Place of Supply and Reverse Charge on each invoice, and maintain the ITC Ledger so input credits are tracked for the returns.

6. EU VAT Compliance

Member-state rate tables

EU VAT compliance is provided through rate tables covering 27 EU member states, held in pkg/tax/vat_eu_rates.go. Because VAT rates differ by member state, maintaining per-state rate tables is what allows the correct national rate to be applied for a transaction in a given country.

The VAT calculator

The EU VAT calculator lives in pkg/tax/vat_eu.go. It implements reverse-charge handling for intra-EU business-to-business supplies, which is the arrangement where the customer rather than the supplier accounts for VAT on cross-border B2B trade within the EU. This mirrors the reverse-charge concept seen in the India GST module but applied to the EU context.

OSS and IOSS scaffolding

The calculator also includes OSS and IOSS scaffolding. OSS (One Stop Shop) and IOSS (Import One Stop Shop) are EU schemes for reporting VAT on cross-border sales to consumers, and the presence of scaffolding indicates the structural groundwork for these schemes within the calculator. Taken together, the EU VAT features give the product per-state rate awareness, intra-EU B2B reverse-charge calculation, and the beginnings of OSS and IOSS support, complementing the dedicated India GST module and the generic tax-rules engine so the platform can address multiple tax regimes.