Kumusoft Solutions
EFRIS API
EFRIS API
  1. ๐Ÿงพ Invoicing
  • ๐Ÿš€ Getting started
  • ๐Ÿ” Authentication
    • Getting started
    • Calling Kumusoft APIs
    • API Keys
    • Generate auth Token
      POST
  • ๐Ÿงพ Invoicing
    • How to generate a Fiscal invoice
    • Generate fiscal invoice
      POST
    • Preview fiscal invoice
      POST
    • Search invoices
      POST
    • Invoice detils
      GET
  • ๐Ÿ“ฆ Stock Management
    • All stock items
      GET
    • Search stock items
      POST
    • Reduce stock
      POST
    • Increase stock
      POST
    • Register stock item
      POST
  • ๐Ÿ“ƒ Credit Notes
    • Issue credit note
      POST
  • โš™๏ธ Masterdata
    • Registration details
      GET
    • Get Masterdata
      GET
  • ๐Ÿ“‹ Reference
    • Overview
    • Data Sources
    • Invoice Types
    • Tax Rules
    • Return Codes
      • Overview
      • General system return codes
      • Taxpayer return codes
      • Invoice return codes
      • Credit note return codes
      • Stock management return codes
      • Device return codes
      • Invoice industry codes
  1. ๐Ÿงพ Invoicing

How to generate a Fiscal invoice

The Generate fiscal invoice endpoint submits an invoice to the Uganda Revenue Authority (URA) Electronic Fiscal Receipting and Invoicing System (EFRIS).
The Kumusoft EFRIS API simplifies the invoice creation process by abstracting many of the technical requirements of the underlying EFRIS platform.
Unlike direct EFRIS integrations, developers do not need to manage:
Encryption
Digital signatures
Device management
Seller registration information
EFRIS request formatting
Authentication tokens
Interface codes
The Kumusoft platform automatically handles these requirements and submits the invoice to EFRIS on your behalf.

Endpoint#

Request Structure#

{
  "data": {
    "sellerDetails": {
      "referenceNo": "b005"
    },
    "basicInformation": {
      "currency": "UGX",
      "invoiceType": 1,
      "invoiceKind": 1,
      "invoiceIndustryCode": "101"
    },
    "buyerDetails": {
      "buyerBusinessName": "Buyer Name",
      "buyerLegalName": "Buyer Legal Name",
      "buyerType": "1",
      "buyerTin": ""
    },
    "itemsBought": [
      {
        "itemCode": "A001",
        "quantity": 1,
        "unitPrice": 45600,
        "total": 45600,
        "taxForm": "101",
        "taxRule": "STANDARD",
        "discountFlag": 1,
        "discountTotal": 600,
        "exciseFlag": "2",
        "exciseRate": "",
        "exciseUnit": "",
        "exciseTax": "",
        "exciseCurrency": "UGX"
      }
    ]
  }
}

Request Sections#

The invoice request consists of four logical sections:
SectionDescription
sellerDetailsSeller-specific information
basicInformationInvoice configuration and metadata
buyerDetailsCustomer information
itemsBoughtProducts or services being invoiced

Seller Information#

The Kumusoft platform automatically derives seller information from the authenticated taxpayer account.
Only a limited set of seller fields are exposed to API consumers.

Seller Details#

FieldRequiredDescription
referenceNoNoSeller reference number used for internal tracking and reconciliation.

Invoice Information#

Invoice configuration information.

Basic Information#

FieldRequiredDescription
currencyYesInvoice currency code.
invoiceTypeYesFiscal document type.
invoiceKindYesInvoice classification.
invoiceIndustryCodeYesIndustry classification. See Invoice Industry Codes.
Future versions of the API may automatically populate some of these values where a suitable default exists.

Buyer Information#

Customer information associated with the invoice.

Buyer Details#

FieldRequiredDescription
buyerBusinessNameYesCustomer business name.
buyerLegalNameYesCustomer legal name.
buyerTypeYesCustomer classification.
buyerTinConditionalCustomer TIN where applicable.

Invoice Items#

Products or services included on the invoice.
Each invoice must contain at least one item.

Item Fields#

FieldRequiredDescription
itemCodeYesProduct or service code.
quantityYesQuantity being invoiced.
unitPriceYesPrice per unit.
totalYesTotal line amount.
taxFormYesEFRIS tax category code.
taxRuleNoKumusoft tax calculation rule.
discountFlagNoIndicates whether a discount has been applied.
discountTotalNoDiscount amount applied to the line item.
exciseFlagNoIndicates whether excise duty applies.
exciseRateNoExcise duty rate.
exciseUnitNoExcise duty unit of measure.
exciseTaxNoExcise duty amount.
exciseCurrencyNoExcise duty currency.

Response#

A successful request returns the generated EFRIS invoice information and associated fiscal identifiers.
{
  "status": {
    "returnCode": "00",
    "returnMessage": "SUCCESS"
  },
  "data": {
    ...
  }
}

Next Steps#

The following sections provide detailed documentation for every field in the invoice request payload, including:
Data types
Required fields
Maximum lengths
Allowed values
Validation rules
Examples
Best practices

Related Documentation#

Buyer Types
Tax Rules
Currency Codes
Data Sources
Invoice Return Codes
Previous
Generate auth Token
Next
Generate fiscal invoice
Built with