TaxBridge — Tax Compliance Integration
Platform PRA APIFBR API SRB APIKPRA API POS IntegrationERP Integration API DocumentationGetting Started SandboxProduction PricingSecurity FAQGuidesContact ← Sum Cloud POS
TroubleshootingErrors

Common POS Tax API Errors and How to Fix Them

Every error TaxBridge returns is actionable. Here is what each one means and what your code should do.

How do you handle tax API errors?

TaxBridge normalizes errors into one vocabulary. Validation problems (400) list the exact fields; duplicates (409) mean the invoice was already approved; quota (402) means upgrade or renew; rejections (422) carry the authority message; timeouts (502/504) should be retried with the same idempotency key.

The full table

HTTPMeaningWhat your code does
201Approved by the authorityPrint qrCode, store submissionId
200Idempotent replay (duplicate:true)Treat like the original — no quota consumed
400 INVALID_INVOICENormalizer rejected it; details[] lists every problemFix and resubmit — no quota consumed
402 QUOTA_EXCEEDEDPlan limit hit or subscription expiredUpgrade or renew
409 DUPLICATE_INVOICEInvoice number already approved for this authority + environmentDo not resubmit
422Authority rejected it (status:"REJECTED")Read authorityMessage, fix the data
429Rate limit or sandbox soft capHonour Retry-After
502 / 504Authority errored or timed outRetry with the same Idempotency-Key

Fixing INVALID_INVOICE (400)

The normalizer rejected the payload before any authority call, so no quota was consumed. The details[] array names every problem — missing customer name, a bad HS code, totals that do not add up. Fix the listed fields and resubmit.

Handling DUPLICATE_INVOICE (409) vs replay (200)

A 409 means this invoice number was already approved for this authority and environment — do not resubmit. A 200 with duplicate:true is an idempotent replay of your own earlier call; treat it exactly like the original result, no quota consumed.

Retrying 502/504 safely

These mean the authority errored or timed out. Retry with the same Idempotency-Key; a completed key replays the stored response and never double-files. Never retry without one.

Frequently asked questions

Does a validation error use quota?
No — 400 INVALID_INVOICE is rejected before the authority call, so no quota is consumed.
What is the difference between 409 and 422?
409 means a duplicate invoice number (do not resubmit); 422 means the authority rejected the data (fix it and resubmit).
How do I stop double-filing on timeouts?
Always send an Idempotency-Key and retry with the same value; TaxBridge replays the stored result instead of filing again.

Start building with TaxBridge

Create a sandbox, read the docs and post your first test invoice today.

Start Sandbox API Documentation
No developers? No API? No problem

Don’t want to build an integration at all?

Just register your business with Sum Cloud POS — it already files fiscal invoices to FBR, PRA, SRB and KPRA for you. No API, no development, nothing to connect or maintain. Start selling with compliant invoices out of the box.

Register your business → Explore Sum Cloud POS