Fiscal Invoice Response Structure

When fiscalisation succeeds, data contains the full EFRIS response for the invoice. The fiscal identifiers your ERP must capture live in basicInformation and summary:

{
    "response": "OK",
    "message": "Invoice fiscalised successfully",
    "data": {
        "sellerDetails": {
            "tin": "1014409555",
            "legalName": "YOUR BUSINESS NAME",
            "businessName": "Your Brand",
            "referenceNo": "INV-2026-001",
            "branchId": "207300908813650312",
            "branchName": "MAIN BRANCH",
            "branchCode": "00"
        },
        "basicInformation": {
            "invoiceId": "1000002", // EFRIS internal ID - needed later as oriInvoiceId for debit/credit notes
            "invoiceNo": "322000150744", // The FDN (Fiscal Document Number)
            "antifakeCode": "31359767222004350398", // Verification code
            "deviceNo": "1014409555_02",
            "issuedDate": "2026-05-30 10:30:00",
            "currency": "UGX",
            "currencyRate": "1"
        },
        "buyerDetails": { "buyerType": "1", "buyerLegalName": "John Doe" },
        "goodsDetails": [ { "...": "as submitted" } ],
        "taxDetails": [
            {
                "taxCategory": "Standard",
                "taxCategoryCode": "01",
                "netAmount": "169491.53",
                "taxRate": "0.18",
                "taxAmount": "30508.47",
                "grossAmount": "200000.00"
            }
        ],
        "summary": {
            "netAmount": "169491.53",
            "taxAmount": "30508.47",
            "grossAmount": "200000.00",
            "itemCount": "1",
            "modeCode": "1",
            "qrCode": "02000000416B9C..." // Encode this string as a QR image for the printed invoice
        },
        "payWay": [
            {
                "paymentMode": "102",
                "paymentAmount": "200000.00",
                "orderNumber": "a"
            }
        ]
    }
}
Store at minimum: invoiceId, invoiceNo (FDN), antifakeCode, and qrCode against your ERP invoice record. invoiceId is required later as oriInvoiceId for debit notes and credit notes.

Tax category codes in the response

taxCategoryCode Letter Meaning
01 A Standard VAT (18%)
02 B Zero Rate (0%)
03 C Exempt (-)
04 D Deemed VAT (18%)
05 E Excise Duty
06 Over the Top Service (OTT)
07 Stamp Duty
08 Local Hotel Service Tax
09 UCC Levy
10 Others
11 F VAT Not Applicable

Invoice display layout - the 6 URA sections

A compliant printed (or on-screen) e-invoice renders the response in this order, as a single scrollable column:

┌───────────────────────────────────────────┐
│  EFRIS     e-INVOICE/TAX INVOICE     1/1  │  ← Header
├───────────────────────────────────────────┤
│ SECTION A: Seller Details                 │
│   TIN · Legal Name · Address · Reference  │
├───────────────────────────────────────────┤
│ SECTION B: URA / Fiscal Information       │
│   FDN (invoiceNo) · Verification Code     │
│   (antifakeCode) · Issued Date · Device   │
├───────────────────────────────────────────┤
│ SECTION C: Buyer Details                  │
│   Name · TIN (if B2B)                     │
├───────────────────────────────────────────┤
│ SECTION D: Goods & Services               │
│   Table: No | Item | Qty | Price | Tax    │
├───────────────────────────────────────────┤
│ SECTION E: Tax Summary                    │
│   Table: Category | Net | Tax | Gross     │
├───────────────────────────────────────────┤
│ SECTION F: Invoice Summary                │
│   Net · Tax · Gross (bold) · Amount words │
│   Payment mode · Remarks                  │
├───────────────────────────────────────────┤
│  *** END OF e-INVOICE/TAX INVOICE ***     │  ← Footer
├───────────────────────────────────────────┤
│  [QR CODE]  — Scan to verify on URA       │
└───────────────────────────────────────────┘

The qrCode string from summary should be rendered as a QR image; scanning it verifies the invoice on URA's systems. The FDN and verification code must be printed in Section B exactly as returned.

Recovering a lost response

If your ERP times out during fiscalisation and never receives the response, do not resubmit the invoice. Call POST /invoice-details with your referenceNo-matched FDN from POST /query-invoices to recover the fiscal data - see Best Practices for the full retry protocol.

Stuck on an integration step? Our engineers reply fast.