🍗 PCK ZRA Middleware Wiki

Getting Started

Welcome to the Pedro's Chicken (PCK) ZRA middleware documentation. This guide explains what the system is, who uses it, and how to find your way around.

What is this system?

The Taxint–Chrilan Middleware is a translation and compliance bridge. It lets every Pedro's Chicken point-of-sale terminal running Oracle Simphony issue fiscally compliant invoices through the Zambia Revenue Authority (ZRA) Smart Invoice system, which is operated by Chrilan Technologies.

The two systems speak completely different languages:

Without this middleware, every POS terminal in every store would need custom code to talk to ZRA. Instead, the middleware sits in the middle and:

  1. Receives invoice data from the POS in Taxint format
  2. Translates it into Chrilan Smart API format
  3. Submits the invoice to Chrilan/ZRA for fiscal registration
  4. Translates the ZRA response (receipt number, QR code, SDC ID, tax data) back into Taxint format
  5. Returns the fiscal response to the POS so it can print a compliant receipt

Why it exists: the regulatory requirement

The Zambia Revenue Authority mandates that all point-of-sale transactions be reported to its electronic fiscal device system. Every invoice must receive:

Compliance note Without these fiscal identifiers printed on the receipt, a business is non-compliant and subject to penalties. The middleware exists to make this automatic and invisible to cashiers.

Who uses it?

RoleHow they interact
CashiersNever touch the middleware directly. They ring up sales on the POS as usual; fiscal registration happens automatically in the background.
Store administratorsUse the web admin portal to register stores, manage API keys, configure menu sync, and review reports.
Operations / supportMonitor health endpoints, review failed transactions, and follow the troubleshooting guide.
POS integrators (Micros)Connect POS terminals to the upload endpoint using the integration guide.
DevelopersMaintain and extend the middleware using the architecture and mapping references.

What the system does, at a glance

CapabilityDescription
Invoice fiscalisationTranslates every POS sale into a ZRA-registered invoice with receipt number, QR code and digital signature
Credit notes / refundsLooks up the original invoice in the local database and links the refund to it, as ZRA requires
Menu synchronizationSyncs Oracle Simphony menu items (with prices and VAT categories) to the Chrilan product catalog every 60 seconds
Multi-store managementEach store has its own TPIN, Chrilan API key and menu sync settings, managed from one portal
Complete audit trailEvery request, response and conversion is logged to the database with timing and transaction IDs
ReportingTransaction statistics, failure reports and conversion history, filterable by store and date

The 30-second mental model

Customer pays at the till
        │
        ▼
Oracle Simphony POS ──(Taxint JSON)──▶ MIDDLEWARE ──(Chrilan JSON)──▶ Chrilan Smart API ──▶ ZRA
        │                                │                                   │
        │                                ▼                                   │
        │                          MariaDB (logs,                            │
        │                          invoices, stores)                         │
        │                                                                    ▼
        ◀──────────(receipt no, QR code, signature)────────────── ZRA registers the invoice

POS prints the compliant receipt

Where is it running?

PropertyValue
Production URLhttps://server.zra.co.zm/pckzra
Admin portalhttps://server.zra.co.zm/pckzra/login
POS upload endpointPOST https://server.zra.co.zm/pckzra/api/taxint/pos/upload
Interactive API docs (Swagger)https://server.zra.co.zm/pckzra/swagger-ui.html
DatabaseMariaDB at 192.168.0.50:3306/pckmiddle

Next steps