Tax rate master with treatment
A single rate master records each tax rate, its class and its treatment, applying it to document lines at entry rather than at reporting time.
Enfinity ERP resolves VAT, GST and e-invoicing rules from an effective-dated country profile, not a hardcoded assumption, posting every movement to a tax ledger you can reconcile before you file. Saudi Arabia, UAE, Bahrain and Oman are active today; Qatar and Kuwait are seeded and ready the day either introduces VAT.
A business operating across two or three GCC countries usually ends up juggling the differences by hand: a spreadsheet for Saudi's rate history, a note for Bahrain's 2022 increase, a reminder that Kuwait has no VAT at all. Nothing stops someone applying the wrong rate to a historical document, missing a reverse-charge line, or filing a return never reconciled against its own ledger. That risk is the ordinary cost of treating tax as a spreadsheet problem, not a system one.
Pick or confirm the effective-dated VAT profile for each country you operate in — rate, registration threshold and mandate status are already seeded for six GCC countries and can be overridden.
Every sales or purchase line is classified by place of supply and tax class at entry, and the resulting VAT, GST or withholding movement posts to the tax ledger — not a side report.
An AI-assisted report scans the batch for an unknown rate, missing place of supply or mismatched class, listing each for correction before it reaches a return.
Tax-to-GL reconciliation proves the return you are about to prepare agrees with what was actually posted, catching drift before it becomes a filing error.
The VAT return is prepared from the posted ledger, and where a country's profile mandates e-invoicing as of that date, the invoice moves through draft, generate, submit and cleared.
A named role reviews the return, reconciliation and any open exceptions; nothing files, posts or sends itself, and a cleared e-invoice's source document can no longer be silently unposted.
A single rate master records each tax rate, its class and its treatment, applying it to document lines at entry rather than at reporting time.
Every VAT, GST and withholding movement lands in a dedicated tax ledger, replacing the ad-hoc reporting queries most systems fall back on near a filing deadline.
The VAT return is prepared directly from the posted tax ledger, so the filed figures match what the system actually recorded.
Dedicated sales and purchase tax reports summarize the ledger by document, rate and class, giving a reviewer the working papers behind the return.
A dedicated reconciliation proves the return agrees with the general ledger before filing, catching a posting gap while it is still cheap to fix.
Each line is classified by place of supply and tax class through a dedicated classifier, so invoice logic behaves correctly whether the supply is domestic, cross-border or an import.
Where the buyer, not the seller, accounts for tax on an imported service or supply, a dedicated report captures those lines separately for the return.
An e-invoice moves through draft, generate, submit, cleared-or-rejected and cancel, with each state change and its clearance reference persisted against the invoice.
Master and document fields carry a second-language name and render right-to-left where a jurisdiction expects Arabic on the invoice alongside English.
The exception report scans a batch of taxable lines for an unknown rate code, a missing or contradictory place of supply, or a tax class that does not fit the line, and flags each one with the exception reason.
Deterministic rules find exceptions first; the model only explains them. It works with no AI provider, every run is logged to an advisory ledger with an audit event, and a tax accountant corrects each line before filing.When an e-invoice is rejected, the feature reads the real clearance message returned and explains, in plain language, what needs fixing.
The persisted rejection text is extracted deterministically first; the model only rewords it. It works with no AI provider, is logged to an advisory ledger with an audit event, and never resubmits — a tax accountant does that themselves.The insight is computed from the country profile's own filing calendar, so a business always knows the next due date per registered country.
The deadline is a deterministic calendar computation regardless of AI provider; a model, where configured, only adds context. Every insight logs to an advisory ledger with an audit event, and a finance manager decides when preparation starts.The count of open VAT exceptions feeds directly into month-end close readiness, so an unresolved tax exception is visible to whoever decides if the period can close.
The count is a deterministic tally, not a model judgment; an AI narrative, where configured, only summarizes it. It works with no AI provider, logs to an advisory ledger with an audit event, and a controller decides whether the period closes.Every AI-assisted tax feature shares one base: compute the deterministic answer first, let the model add explanation second, and keep working with no AI provider configured at all.
This shared base guarantees the boundary above: deterministic first, model second, no-provider degradation, an advisory ledger entry per run, and a named human role reviewing before anything files, posts or sends.Saudi Arabia's profile is active and effective-dated: 5% from 2018, 15% from July 2020, so a historical document resolves to the rate in force on its date, not today's. Where e-invoicing is mandated, each generated invoice records the prior cleared invoice's hash and its own, giving the tamper-evident chain the mandate expects.
Where mandated, the invoice carries a QR code with five Saudi Phase-1 elements — seller name, tax registration, timestamp, total and tax. This is a simplified base64 payload, not the TLV encoding ZATCA defines, and is not described as ZATCA-conformant.
The system generates UBL 2.1 invoice XML — number, UUID, issue date/time, type code, currency, party details, tax total, legal monetary total and each line. The cryptographic UBL extension, digital signature, ZATCA party-identification qualifiers, postal addresses and per-line charge blocks are deliberately not emitted. This XML is the payload a clearance provider signs, not a signed ZATCA Phase-2 document itself.
The UAE's 5% VAT profile is active and configurable today. A second, pre-set profile row switches the country to a reporting mandate from 1 July 2026, so the announced FTA mandate turns on without a code change once confirmed. Until then, the profile correctly stays Not Mandated.
Bahrain's profile is active and effective-dated: 5% from 2019, 10% from 2022, with registration thresholds configured. A document dated before 2022 keeps resolving to 5% rather than today's rate.
Oman's 5% VAT profile is active with its own registration threshold, on the same effective-dated model as the other three active GCC countries.
Qatar has not yet implemented VAT and Kuwait currently has none, so both are seeded as inactive, future-ready rows rather than live regimes — a starting point a business can override, not a claim either charges VAT today. Either can switch on the day the country introduces the tax.
India support covers intra/inter-state tax treatment, CGST/SGST/IGST amounts on the tax ledger, HSN/SAC codes and GSTIN as the tax-registration number. No portal-issued reference number, logistics-movement document or periodic return filing exist in this release — this is GST tax treatment and reporting, not GST e-invoicing.
A rate table by supplier category drives a certificate issued against an already-booked payment, recording gross, withheld and net as deducted-at-source proof the supplier needs for their own filing. The certificate is ledger-adjacent — it does not itself reduce the cash remitted; that stays a separate payment-issuance decision.
The seller tax number on an e-invoice resolves from the branch actually issuing it, so a multi-branch business need not force one tax number across every location. A posted invoice whose e-invoice was cleared can no longer be silently unposted — correction has to be a credit or debit note.
| Small | Standard | Professional |
|---|---|---|
| One active country profile, VAT return preparation and the standard exception report. | Multiple country profiles, reverse-charge reporting and tax-to-GL reconciliation as a standing control. | All GCC country profiles plus India GST treatment, withholding-tax certificates and multi-branch tax registration. |
Subscription invoices raised in Enfinity Billing carry their own VAT treatment and route through this module's e-invoicing service rather than duplicating tax logic in Billing.
Enfinity Restaurant calls this module's e-invoicing service for cleared point-of-sale invoices instead of building its own clearance and QR logic.
Enfinity Retail's point-of-sale invoices are captured with the tax treatment they need and cleared through the same e-invoicing service this module hosts for the suite.
The platform's localization engine is what lets a tax document carry an Arabic name alongside English and render correctly right-to-left where a jurisdiction expects it.
Every AI-assisted tax feature runs through the platform's metered, budgeted AI gateway, which is why each one still works with no AI provider configured at all.
The platform's shared audit trail records every tax and e-invoice state change, giving a reviewer one place to trace what happened to a return or an invoice.
No. Where a profile requires it, it produces ZATCA-aligned simplified QR and unsigned UBL 2.1 output as the payload a clearance provider signs. Verify local acceptance requirements with your provider during rollout.
No. Its profile is seeded inactive and future-ready, not a live regime, and is ready to configure the day Kuwait introduces the tax.
Not today. Submission goes through a pluggable clearance-provider seam — a zero-spend local provider by default, or a generic HTTP provider when configured. No cross-network exchange exists yet.
No. India support is GST treatment and reporting — intra/inter-state treatment, CGST/SGST/IGST amounts, HSN/SAC codes and GSTIN — not e-invoicing, portal integration or return filing.
No. The certificate records gross, withheld and net as proof of deduction at source, but does not itself reduce the cash remitted — a separate payment decision.
Yes. Country profiles, rates and opening tax-ledger balances are configured during onboarding, and historical rate changes are modeled as extra effective-dated rows so past documents keep resolving correctly.
Yes. Master and document fields carry a second-language name, and the interface renders right-to-left where Arabic is expected on the invoice alongside English.
No dedicated mobile page exists for this yet. E-invoice status is visible wherever the underlying sales invoice appears in the mobile app, and cleared invoices reach customers via the customer portal alongside their statement.