| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3124 |
| Technical Name |
l10n_ro_account_partner_confirmation |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3124 |
| Technical Name |
l10n_ro_account_partner_confirmation |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
Romania - Partner Balance Confirmation
Generate and send partner balance confirmation requests by email
Overview
Generates and sends Confirmare de sold (partner balance confirmation) letters at a given date, in bulk, by email — the legally required end-of-year exercise for Romanian companies.
A confirmation batch (l10n.ro.account.partner.confirmation) lets you
pick the cutoff date, the partner side (customers, suppliers or both),
an optional partner / account filter and an email template. Generate
recomputes each partner's open balance per account / currency at the
chosen date — honoring partial reconciliations whose max_date is on
or before the cutoff — and creates one confirmation line per partner
with a sequential document number.
From the batch, you then generate PDFs (one per line, attached on
ir.attachment) and send them by email through the bundled
mail.template. Lines without an email address, without an open
balance or with a sending error are flagged with their own state so
you can handle them separately. State on the batch flows
draft → generated → pdf_ready → sent → done, with a Cancel path
for batches you discard.
Built & supported by NextERP Romania
Romanian Odoo specialists, here for the long run — from implementation to localization and day-to-day production support.
What we do
Odoo Solutions
From quick-start rollouts to multi-company deployments and custom modules built for your processes.
Romanian Localization
SAF-T (D406), e-Factura, e-Transport, D300 / D390 / D394, ANAF integration, full chart of accounts and fiscal positions.
Our Services
Implementation, customization, migration, integration, support and consultancy — Romanian-speaking, SLA-backed.
Features
- Batch document with chatter —
l10n.ro.account.partner.confirmationwith date, company, Customers / Suppliers / Both selector, partner/account filters and a state bardraft → generated → pdf_ready → sent → done. Each batch gets a sequence-driven name (CONF/2026/00001). - Per-partner line —
l10n.ro.account.partner.confirmation.linewith its own state (draft / no_balance / no_email / ready / sent / error), error message, PDF attachment and sent-date timestamp. Lines inheritmail.threadfor full audit trail. - Configurable internal numbering —
last_numberon the batch holds the free-text counter (e.g.CONF-2026-100). The numeric suffix is auto-incremented per generated line, preserving any prefix and zero-padding, so you can match your in-house archive. - Historic balance computation —
_compute_balancesruns a raw SQL query that returns one row peraccount.move.linewith its residual at the cutoff, accounting only for partial reconciliations whosemax_dateis on or before the date. Each balance is grouped by (account, currency); manual additions to the line are kept and zeroed if no movement is found. - Account-type aware — picks
asset_receivable,liability_payableplus the extra variants froml10n_ro_account_extra_typesbased on the Customers / Suppliers / Both selector. Optional account filter narrows further. - PDF generation in bulk —
_generate_pdfsrenders thereport_partner_confirmationQWeb report (paper formatbase.paperformat_euro), saves it asir.attachmenton each line, with a fallback chunked re-render on errors and per-line state reporting. - Bundled bilingual mail template —
mail_template_partner_confirmationrenders the email body in the partner's language with the PDF auto-attached. - Smart-button dashboard — the batch form shows live counters for generated lines, PDF-ready, sent, no-email, error and missing balance, with click-through to filtered line lists.
- Romanian menu — Accounting → Romania → Balance Confirmations,
visible to users in
account.group_account_user.
Configuration
The module ships with everything pre-wired (mail template, sequence, report). You only need to make sure your partners have an email address and to review the email template before the first bulk send.
1. Partner email addresses
Open Contacts and verify that each partner you plan to confirm has its Email field set. Lines created for partners without an email switch to No Email state and are not sent; they still appear on the batch so you can fix them and rerun.
2. Email template
Open Settings → Technical → Email Templates and edit
Partner Balance Confirmation
(l10n_ro_account_partner_confirmation.mail_template_partner_confirmation).
The body uses the partner's language (object.partner_id.lang) and
auto-attaches the PDF as Balance_confirmation_<partner>.pdf. Adjust
the wording, signature or the 5 days reply window to match your
internal procedure.
You can swap the template at the batch level via the Email
Template field; it only lists templates whose model is
l10n.ro.account.partner.confirmation.line.
3. Document numbering
The batch document number is generated from sequence
l10n.ro.account.partner.confirmation — prefix CONF/%(year)s/, 5
digits, no per-company restriction. Adjust the sequence at
Settings → Technical → Sequences if you need a different format.
For the line numbering displayed on each PDF, set the Last
Number field on the batch before clicking Generate. The numeric
suffix increments per line; any text prefix is preserved. Example:
CONF-2026-100 produces CONF-2026-101, CONF-2026-102, …
4. Access rights
The menu and document are restricted to
account.group_account_user. Record-level rules
(security/partner_confirmation_security.xml) scope batches to the
user's allowed companies.
5. Optional account scoping
If you operate with multiple receivable / payable accounts and want
to confirm only a subset (e.g. only 4111 + 4118, leaving 461 out),
fill the Accounts filter on the batch. The selector is restricted
to asset_receivable, liability_payable,
asset_extra_receivable and liability_extra_payable of the same
company.
How it works
Open Accounting → Romania → Balance Confirmations and click New.

1. Create the batch
- Pick the Date (defaults to today). Balances are computed at
end-of-day of this date; partial reconciliations with
max_datelater than this date are reversed. - Pick Confirmation Type: Customers, Suppliers or Customers & Suppliers.
- Optional: restrict to a list of Partners and / or Accounts. Leave both empty to include every partner with an open balance.
- Optional: type a starting Last Number (e.g.
CONF-2026-100) to control the per-line document number.
2. Generate the lines
Click Generate. The module:
- queries
account.move.linefor posted lines on the chosen account types, grouped per(partner, account, currency); - creates one batch line per partner with sequential numbering;
- computes the residual at the cutoff date for each line;
- sets the line state to Ready (email present), No Email (missing email) or No Balance (nothing open).

3. Generate the PDFs
Click Generate PDFs. The QWeb report
report_partner_confirmation is rendered for every Ready /
Error line and saved as an ir.attachment on the line. You can
preview / download any PDF from the line form. The batch state moves
to PDFs Ready.
4. Send the emails
Click Send Emails. The bundled mail template is sent to each
Ready line, with the PDF auto-attached. The line switches to
Sent and records sent_date; sending errors set the line to
Error with the message in error_message.
When no line is left in Ready, the batch state moves to Sent.
5. Wrap up
Click Done when the campaign is closed. The batch keeps a full trail of every line, attachment and email in the chatter, so you can revisit the campaign later (e.g. when auditors ask for evidence that balance confirmations were sent).
Recomputing a single line
Open any line and click Recompute. The line state goes back to draft, the previous attachment is removed, balances are recomputed at the current cutoff date and the line is re-evaluated for email readiness. Lines already in Sent are skipped to protect history.
Versions
19.0.1.0.0 (2026-05-24)
- Changelog tracking starts at this release.
Discover the NextERP suite
Other modules from the same publisher, built to work together.
NextERP Romania
Odoo implementation, customization, Romanian localization and long-term support since 2018.
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