Go to file
2026-05-29 21:37:21 +07:00
static/src feat: implement minimal header for basic receipts and update item filtering logic, plus update module author information 2026-05-29 21:37:21 +07:00
__init__.py Initial Commit 2026-05-20 16:28:55 +07:00
__manifest__.py Hide Header & Footer on Basic Receipt, Show Cashier Name, Left Padding set to Default, Show Note on Basic Receipt 2026-05-26 16:07:12 +07:00
.gitignore Initial Commit 2026-05-20 16:28:55 +07:00
README.md feat: filter reward and negative lines from basic receipts, update module author, and document changes 2026-05-29 21:24:29 +07:00

POS Custom Receipt

This custom module is designed for Odoo 19 to override and customize the standard Point of Sale (POS) receipts, specifically adjusting the layout and content of the receipt header and footer. It provides a cleaner and more business-specific printed receipt.

Features

  1. Hide Tracking Number: Removes the short tracking_number element from the top of the receipt header to avoid confusion with the main POS reference number.

  2. Custom Ticket Prefix: Replaces the default "Ticket" text prefix with "NO" on the main receipt reference sequence (e.g., instead of "Ticket 0001", it prints "NO 0001").

  3. Custom "Pro Forma" Text: When using the Early Receipt or Bill printing feature (before payment is finalized), Odoo natively prints "Pro forma receipt". This module replaces that text with an attention-grabbing "!!! INI ADALAH TAGIHAN SEMENTARA, BUKAN BUKTI PEMBAYARAN !!!".

  4. Basic Receipt Improvements: When printing a Basic Receipt (e.g. gift receipt without prices), this module hides the receipt header, footer, and the "Pro Forma" text. It also ensures that both the Customer Note and the Internal Note are fully visible, and automatically filters out reward products, promotions, and coupons (lines with negative values or flagged as reward lines).

  5. Address & Email Removal: Hides the detailed company/branch address and the company email from the receipt footer, keeping the receipt concise.

  6. Custom Phone Prefix: Retains the company phone number in the footer but changes its prefix from the default "Tel:" to "Contact:".

  7. Remove Odoo Branding: Hides the "Powered by Odoo" text and logo from the bottom of the receipt footer.

  8. Print Margin Adjustments: Removes the top, right, and bottom margins from the print page so the content aligns closely with the paper edges, while preserving the default left margin.

Technical Details

The module utilizes Odoo's OWL xpath inheritance mechanism to modify the front-end QWeb templates dynamically.

  • pos_custom_receipt.ReceiptHeader extends point_of_sale.ReceiptHeader.
  • pos_custom_receipt.OrderReceipt extends point_of_sale.OrderReceipt.

Dependencies:

  • point_of_sale: Base module for the POS system.
  • pos_restaurant: Required to ensure the proper loading sequence for overriding the "Pro forma receipt" text, which is inherently injected by the restaurant module.

Installation

  1. Place the pos_custom_receipt directory into your Odoo custom addons path.
  2. Enable Developer Mode in Odoo.
  3. Go to Apps -> Update Apps List.
  4. Search for "POS Custom Receipt" and click Install.
  5. Once installed, refresh your POS session to load the updated XML assets.

Compatibility

  • Odoo Version: 19.0
  • Tested on standard POS and POS Restaurant profiles.