OdooWiki OCA HUB

Romania - Point of Sale Refunds

l10n_ro_pos_refund folder_open OCA/l10n-romania open_in_new
Localization License: AGPL-3

In Romania a fiscal receipt cannot be reversed by printing a negative one: the refund has to go out as a credit note ("factura storno"), and the cash given back over the counter has to be covered by a payment disposal ("dispozitie de plata") the customer signs for.

This module makes both of them happen on their own. Refunding a receipt in the Point of Sale creates a regular refund order, and as soon as it is paid:

  • the credit note is issued on the invoice journal of the Point of Sale -- invoicing a refund is not optional any more. The cashier is asked for the customer as soon as the refund is created, and the payment screen says why it cannot be validated without one;
  • the cash returned is registered as its own cash statement line, linked to the session and settling the credit note directly. That line is the payment disposal, and it comes out of the printer at the till right behind the credit note, for the customer to sign.

A refund either produces a real credit note or does not happen at all. Where core would attach a proforma and carry on -- an e-Factura that will not build over a partner missing its county, say -- the refund is refused instead, with the reason, because a proforma reverses nothing. An e-Factura that builds but cannot reach the SPV is a different matter: the credit note is real, the refund goes through, and the upload is retried from the back office.

The cash leaves the till once: the POS payment behind a payment disposal is kept out of the session's cash flow and out of its closing entry, because the statement line already carries it.

auto_awesome What this module does

AI-generated from the code · Odoo 20.0

In Romanian companies, refunding a Point of Sale receipt automatically issues a credit note and creates a signed payment disposal for the cash handed back, which prints at the till. A customer is required on every refund.

This module changes how refunds work at the Point of Sale for Romanian companies. When a cashier refunds a receipt, the refund order is always sent to invoicing, so a credit note is issued instead of a negative receipt.

  • A customer is mandatory on a refund: the cashier is asked to pick one as soon as the refund is created, and the payment screen shows a warning explaining why the Validate button is blocked until a customer is chosen.
  • If the credit note could not really be issued (only a proforma was produced), the refund is refused with an error message explaining the reason, so the customer does not leave with a document that reverses nothing.
  • Once the refund is paid, the cash returned is recorded as its own cash statement line linked to the session, settling the credit note. This line is the payment disposal, and it is printed automatically right after the credit note at the till; if printing fails, a warning asks the cashier to print it from the refund order.
  • A "Payment Disposal" button appears on the refund order form to reprint that document.
  • The cash given back is kept out of the session's normal cash flow, so the closing cash count is not counted twice.

The module touches pos.order, pos.payment, pos.session and res.company.

Models and fields (3)
  • pos.order · extends an existing modell10n_ro_payment_disposal_id (Romania - Payment Disposal)
  • pos.payment · extends an existing modell10n_ro_payment_disposal_id (Romania - Payment Disposal)
  • pos.session · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 20.0

Confirmed on 2026-11-03 in branch 20.0 of OCA/l10n-romania.

terminal Installation and usage

OCA documentation · Odoo 20.0

Nothing to configure. The credit note is issued on the invoice journal set on the Point of Sale (Point of Sale > Configuration > Point of Sale > Invoicing), and the payment disposal is registered on the journal of the cash payment method used for the refund.

No verified information in OCA: Installation, Usage.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.