Skip to Content

Rwanda EBM POS Fiscal

84.00 84.00

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Rwanda RRA EBM 2.1 - Point of Sale Fiscalisation

Real-time fiscal receipts for Rwandan retail: signature, Internal Data, MRC and verification QR - sent through your own certified VSDC

What it does

The Rwanda Revenue Authority (RRA) requires every retail sale to be fiscalised through the Electronic Billing Machine (EBM 2.1) model. Each Point of Sale receipt must be processed by a certified Secure Data Controller (SDC) reached through the Virtual Sales Data Controller (VSDC), which returns the receipt's Internal Data and Receipt Signature records together with the SDC ID and Machine Registration Code (MRC) that must be printed on the slip.

This module turns Odoo Point of Sale into an EBM-ready front office. It builds the exact trnsSalesSaveWr payload the VSDC expects, computes the VAT breakdown across the four RRA categories, transmits the receipt to your own certified VSDC, stores the returned records and renders the RRA verification QR code.

Real-time POS fiscalisation

Every POS order is queued and sent to the VSDC. The returned 26-character Internal Data and 16-character Receipt Signature are stored and grouped into the printed 4-character blocks.

Correct VAT arithmetic

POS prices are VAT-inclusive in Rwanda. Each line is split into a taxable base and an 18% VAT amount, then aggregated per RRA category A/B/C/D for the receipt summary.

Verification QR code

A QR code resolving to the RRA EBM public receipt verificator is generated for every fiscalised receipt, carrying the seller TIN, receipt number and signature.

TIN validation

Company and customer 9-digit RRA TINs are structurally validated before a receipt is sent, so malformed numbers never reach the VSDC.

RRA EBM 2.1 codes implemented

AreaCodes
VAT categories (taxTyCd)A = Exempt (0%), B = Taxable (18% standard VAT), C = Export (0%), D = Non-taxable (0%)
Receipt type (rcptTyCd)S = Sale, R = Refund
Transaction type (salesTyCd)N = Normal, C = Copy, T = Training, P = Proforma
Payment type (pmtTyCd)01 Cash, 02 Credit, 03 Cash/Credit, 04 Bank cheque, 05 Card, 06 Mobile money, 07 Other
SDC recordsInternal Data (26 Base-32 chars), Receipt Signature (16 Base-32 chars), grouped in 4-char blocks
TimestampsyyyyMMddHHmmss (cfmDt), yyyyMMdd (salesDt)

Feature list

  • POS order EBM status (To Fiscalise / Fiscalised / Rejected / Error / Offline preview) with batch and scheduled retry.
  • VSDC trnsSalesSaveWr sales payload builder with full per-line and per-category tax breakdown.
  • Per-product RRA VAT category override (A/B/C/D) for exports and non-taxable supplies.
  • Refund receipts that reference the original receipt number.
  • Internal Data + Receipt Signature normalisation, length validation and printed grouping.
  • Local SHA-256 verification digest of the canonical signing data-string for tamper detection.
  • BYOK VSDC connection profile with connection test, SDC ID / MRC discovery and full transport logging.
  • Business-rule validation (TIN, category/rate consistency, totals reconciliation) before transmission.

Boundary & disclosure

This module performs format generation and transmits the receipt to your own certified VSDC/SDC using your credentials (BYOK). It is not a certified Secure Data Controller and does not supply, proxy or impersonate one: the legal fiscal signature is produced by your RRA-registered device. The VSDC base URL and device identifiers are your configuration and stay in your database; no receipt data is sent anywhere other than the VSDC endpoint you configure.

Screenshots

Vsdc Connections

Vsdc Connections

Fiscalise Receipts

Fiscalise Receipts

Update date: 2026-07-02