| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1694 |
| Technical Name |
codeerts_pra_pos |
| License | OPL-1 |
| Website | https://www.codeerts.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1694 |
| Technical Name |
codeerts_pra_pos |
| License | OPL-1 |
| Website | https://www.codeerts.com |
| Versions | 17.0 18.0 19.0 |
POS PRA Fiscal Integration
Fiscalize every Odoo POS sale with Pakistan's Punjab Revenue Authority.
The PRA invoice number and QR code print on every receipt, online or offline.
Real-time fiscalization that does not stop when the internet does. Your till stays compliant even when the connection drops.
|
2
Modes (Local / Cloud)
|
Offline
Keeps Working
|
QR
On Every Receipt
|
Real-time
Fiscalization
|
v17
Compatible
|
The problem
The PRA fiscalization problem every Punjab retailer knows
|
Non-compliance is expensive
Every sale must carry a valid PRA fiscal invoice number and QR. Missing or wrong fiscal data exposes the business to penalties at audit time. |
The internet drops and fiscalization stops
Cloud-only integrations cannot issue a fiscal number when the connection is down, so the till either stops or hands out non-fiscal receipts. |
The wrong tax gets reported
When a fiscal position changes the rate, or a card or promotional discount is involved, naive integrations report the wrong tax and the totals do not reconcile. |
What this module does
POS PRA Fiscal Integration connects Odoo Point of Sale to the Punjab Revenue Authority (PRA) fiscal system. When a cashier completes a sale or a return, the order is sent for fiscalization and the receipt prints the official PRA invoice number and QR code. You configure it once per POS and the cashier has nothing extra to do at the till.
It runs in two modes. In local fiscal device mode the POS talks to the PRA Software Fiscal Device on the same computer, so fiscalization keeps working even when the internet is down and the order syncs to Odoo automatically when the connection returns. In cloud mode the Odoo server posts directly to the PRA cloud API. Either way the customer walks away with a compliant fiscal receipt.
|
🧾
Fiscalize every sale
Each sale and return is reported to the PRA in real time and the receipt prints the official invoice number and QR code automatically. |
📶
Works offline
With the local fiscal device the number and QR are issued at the till even with no internet, and the order syncs to Odoo the moment the connection is back. |
⚖
Correct tax, every time
The rate reported is the rate Odoo actually charged after the fiscal position, and promotional versus bank discounts are reported the way the PRA expects. |
|
🧾 Invoice Number + QR on the Receipt
The PRA fiscal invoice number and a scannable QR code print on every sale and return receipt. |
📶 Offline Fiscalization with Auto-Sync
The local device issues the number and QR with no internet, and the order is saved to Odoo automatically once back online. |
|
🕑 Correct Pakistan Time
Pakistan local time is sent to the PRA even when the Odoo server is hosted abroad, so the fiscal timestamp is always correct. |
🏷 Smart Discount Handling
A taxed promotional discount lowers the reported tax, while an untaxed bank or card discount keeps tax full and only lowers the bill. |
|
💳 Payment Mode Mapping
Each payment method is reported as Cash, Card or Online, and split payments are handled cleanly. |
🔁 Returns and Credit Notes
A refund is reported as a credit note linked back to the original sale, so returns stay compliant too. |
|
📜 Full PRA Log History
Every order keeps a log of the exact data sent and the PRA response, for audit and quick troubleshooting. |
♻ Synced Status and Retry
Each order shows a Synced or Not synced status with a one click Retry on the receipt and a Sync action in the back office. |
|
🛡 Per-POS Configuration
Enable PRA per Point of Sale, choose test or production environment, set the POS ID, and pick the device or cloud mode. |
👥 PRA Users Security Group
A dedicated PRA Users group controls who can see and manage the PRA configuration and logs. |
What gets reported to the PRA
|
🧾
Sale Invoice
Items, qty, tax, total |
🔁
Credit Note
Returns, linked to sale |
💰
Tax Charged
Fiscal-position rate |
🏷
Discounts
Promotional / bank |
💳
Payment Mode
Cash / Card / Online |
How it works
1 |
Enable PRA on your Point of Sale
In the POS configuration, turn on PRA, choose the local fiscal device or the cloud API, set the test or production environment and your POS ID. |
2 |
Mark your payment methods
Tick the payment methods that should be reported and set each one to Cash, Card or Online so the PRA payment mode is correct. |
3 |
Sell as normal
The cashier rings up and takes payment exactly as before. On validation the order is fiscalized and the receipt prints the PRA number and QR. |
4 |
Stay fiscal when offline
If the internet is down, the local device still issues the number and QR. The order is saved to Odoo automatically when the connection returns. |
5 |
Audit any order
Open PRA Order History Logs to see exactly what was sent and what the PRA returned for every order, and Retry any order that did not sync. |
Screenshots
See it in action, from setup to a fiscalized receipt.
Enable PRA on the Point of Sale
Mark a payment method for PRA reporting
The receipt prints the PRA invoice number and QR, with a live Synced status
A full audit log of every request and response
Technical information
|
Version
17.0
|
License
OPL-1
|
Editions
Community & Enterprise
|
Dependencies
point_of_sale
|
Technical name: codeerts_pra_pos · Modes: local PRA Software Fiscal Device (offline ready) or PRA cloud API
Frequently asked questions
Enable PRA on the Point of Sale, choose the local fiscal device or the PRA cloud API, set your POS ID, and mark the payment methods to report. Each completed sale is then sent to the PRA and the receipt prints the invoice number and QR code automatically.
Yes. In local fiscal device mode the till talks to the PRA Software Fiscal Device on the same computer, so the invoice number and QR code are still issued and printed when the internet is down. The order syncs to Odoo automatically once the connection returns.
Yes. The module always sends Pakistan local time (Asia/Karachi) to the PRA regardless of where the Odoo server is hosted, so the fiscal timestamp is correct even on a cloud server in another country.
A taxed promotional discount lowers your taxable sale so the reported tax drops, while an untaxed bank or card discount keeps the tax full and only lowers the bill total. The rate reported is always the rate Odoo charges after the fiscal position is applied.
Open PRA Order History Logs under Point of Sale. Every order has a log entry with the exact data sent and the PRA response, so you can audit fiscalization and troubleshoot any order that did not sync.
Use the version selector at the top of this page to pick your Odoo release. Each branch is published and tested for that exact version, on both Community and Enterprise.
The team behind this module
About CODEerts
Full-Service Odoo ERP Agency · Solutions That Scale
Every module in our store is built from real client work, tested in production and maintained long-term by a team of Odoo certified consultants. When you need more than an app, we deliver the full solution.
|
🏗️ Implementation
Full Odoo roll-outs from requirements to go-live, across any industry and company size. |
🧩 Custom Development
Bespoke modules, OWL components and business logic built precisely to your workflow. |
🔄 Migrations
Zero-data-loss upgrades from older Odoo versions with full custom module porting. |
|
🔌 Integrations
Payment gateways, shipping carriers, fiscal devices, eCommerce and third-party APIs. |
🔍 Odoo Audits
Performance, security and code-quality reviews that surface risks before they become problems. |
🧑💻 Support & Training
Ongoing helpdesk, user training and monthly retainers so your team stays productive. |
Odoo Certified |
6+ Years |
50+ Projects |
10+ Industries |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module