Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point of Sale
  3. ErpNet.FP Fiscal Printer for odoo v 18.0
  4. Sales Conditions FAQ

ErpNet.FP Fiscal Printer for odoo

by Rosen Vladimirov https://github.com/rosenvladimirov/l10n-bulgaria , Odoo Community Association (OCA) https://github.com/rosenvladimirov/l10n-bulgaria
Odoo
v 18.0 Third Party 13
Download for v 18.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
• Point of Sale (point_of_sale)
• Inventory (stock)
Lines of code 2943
Technical Name l10n_bg_erp_net_fp
LicenseLGPL-3
Websitehttps://github.com/rosenvladimirov/l10n-bulgaria
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Invoicing (account)
• Point of Sale (point_of_sale)
• Inventory (stock)
Lines of code 2943
Technical Name l10n_bg_erp_net_fp
LicenseLGPL-3
Websitehttps://github.com/rosenvladimirov/l10n-bulgaria

ErpNet.FP Fiscal Printer for Odoo 18

Beta License: AGPL-3 Odoo 18.0

Full integration with Bulgarian fiscal printers through ErpNet.FP server for Odoo 18 Point of Sale.

Key Features:

  • ✅ Direct browser-to-printer communication for fiscal receipts (no backend bottleneck)
  • ✅ Backend support for administrative operations (Z/X reports, cash operations)
  • ✅ Automatic Z-report generation on session closing
  • ✅ Real-time printer status monitoring (optional)
  • ✅ Bulgarian tax group mapping (А, Б, В, Г)
  • ✅ Cash drawer operations (deposit/withdraw)

📋 Features

POS Frontend (JavaScript)

  • Fiscal receipt printing - Direct communication from browser to ErpNet.FP server
  • Automatic fallback - Falls back to standard printing on error
  • Tax group mapping - Automatic mapping of Bulgarian tax groups (А=0%, Б=20%, В=20%, Г=9%)
  • Payment type detection - Automatic cash/card detection
  • Receipt number tracking - Saves fiscal receipt number and fiscal memory serial

Backend Operations (Python)

  • X Reports - Intermediate reports without resetting
  • Z Reports - Daily reports with reset (mandatory before closing)
  • Automatic Z reports - Scheduled Z reports via cron (configurable time)
  • Cash operations - Служебно въведени (Deposit) and Служебно изведени (Withdraw)
  • Additional operations - Duplicate receipts, journal info, status monitoring, cash drawer

POS Session Integration

  • Session-level operations - X/Z reports and cash operations directly from POS session
  • Automatic Z on close - Optional automatic Z report when closing session
  • Session validation - Prevents closing without Z report (if configured)
  • History tracking - Tracks all fiscal operations in session chatter

⚙️ Configuration

Step 1: ErpNet.FP Server Setup

Install and configure ErpNet.FP server using Docker:

docker run -d \
  --name erpnetfp \
  -p 8001:8001 \
  -v /dev/usb:/dev/usb \
  --privileged \
  rosenvladimirov/erpnetfp:latest

Or download from: https://github.com/erpnet/ErpNet.FP

Step 2: Configure Fiscal Printer Device

Go to: Point of Sale → Configuration → Fiscal Printers → Devices

  1. Click Create
  2. Fill in:
    • Name: "Tremol FP-01" (example)
    • Host: "http://localhost:8001"
    • Printer ID: "FP_12345" (from ErpNet.FP)
    • SSL Verify: Disable for self-signed certificates
    • Timeout: 30 seconds
    • Retry Count: 3

Step 3: Configure Automatic Z Reports (Optional)

  • Enable Automatic Z Report
  • Set Z Report Hour: 23 (11 PM)
  • Set Z Report Minute: 59

Step 4: Configure POS Terminal

Go to: Point of Sale → Configuration → Point of Sale

  1. Select your POS
  2. Go to Devices tab
  3. Set Fiscal Printer: Select the device from Step 2
  4. Enable Automatic Z Report on Close (recommended)

Step 5: Configure Tax Groups

Go to: Accounting → Configuration → Tax Groups

For each tax group, set Tax Group for Fiscal Printer:

  • А = VAT 0%
  • Б = VAT 20%
  • В = VAT 20% (alternative)
  • Г = VAT 9%

🚀 Usage

1. Fiscal Receipt Printing

When completing a sale in POS:

  1. Add products to cart
  2. Click Payment
  3. Select payment method (cash/card)
  4. Click Validate
  5. System automatically prints fiscal receipt
ℹ️ No manual intervention needed! The receipt is printed automatically.

2. X Report (Intermediate Report)

During session (no reset):

  1. Go to: Point of Sale → Dashboard → Sessions
  2. Open your active session
  3. Click X Report button
  4. Report is printed on fiscal printer

3. Z Report (Daily Report with Reset)

Manual Z Report:

  1. Go to: Point of Sale → Dashboard → Sessions
  2. Open your session
  3. Click Z Report button (confirm the dialog)
  4. Session can now be closed
⚠️ Warning: Z Report resets daily counters. Run only once per day before closing!

4. Cash Operations

Служебно въведени (Deposit):

  1. Open session
  2. Click Служебно въведени button
  3. Enter amount and reason
  4. Click Execute

Служебно изведени (Withdraw):

  1. Open session
  2. Click Служебно изведени button
  3. Enter amount and reason
  4. Click Execute

🏗️ Technical Details

Architecture - Hybrid Approach

  • Receipts → JavaScript → ErpNet.FP (direct, no backend)
  • Reports → Python → ErpNet.FP (backend operations)

Why?

  • Receipts are high-frequency → Direct communication avoids backend bottleneck
  • Reports are low-frequency → Backend provides better error handling and logging

Data Flow - Fiscal Receipt

  1. POS Frontend prepares receipt data (items, payments, taxes)
  2. JavaScript sends POST to: http://erpnetfp:8001/printers/{printerId}/receipt
  3. ErpNet.FP prints on fiscal device
  4. Returns receipt number and fiscal memory serial
  5. JavaScript saves to order
  6. Backend persists on sync

⚠️ Known Issues

  • CORS may block requests if ErpNet.FP not on same domain (use HTTPS)
  • Self-signed SSL certificates require ssl_verify=False
  • Browser console shows fetch errors on printer offline (expected behavior)

🗺️ Roadmap

  • Add support for refund receipts (сторно)
  • Implement duplicate receipt from POS UI
  • Add printer status widget in POS interface
  • Support for multiple printers per POS
  • Fiscal memory download functionality
  • KLEN (journal) report viewer

🐛 Bug Tracker

Bugs are tracked on GitHub Issues.

In case of trouble, please check there if your issue has already been reported.

🔗 Additional Links

  • ErpNet.FP Documentation: Wiki
  • Dockerized ErpNet.FP: GitHub
  • Bulgarian Fiscal Regulations: NAP.bg

👥 Credits

Authors

  • Rosen Vladimirov
  • Terraros Commerce Ltd.

Contributors

  • Rosen Vladimirov <vladimirov.rosen@gmail.com>

Maintainers

This module is maintained by the OCA.

Odoo Community Association

This module is part of the OCA/l10n-bulgaria project on GitHub.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with