| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 2080 |
| Technical Name |
l10n_ro_account_compensation |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 2080 |
| Technical Name |
l10n_ro_account_compensation |
| License | OPL-1 |
| Website | https://www.nexterp.ro |
| Versions | 18.0 19.0 |
Account Compensation
Compensate partners debits and credits
Overview
Compensates open receivables and payables of the same partner against each other, partially or in full. The compensation document collects unreconciled journal items on the partner's receivable and payable accounts at a given date, lets you pick how much of each to settle, and posts a single balanced entry in a general journal that closes the matched lines through standard Odoo reconciliation.
The flow is built around a dedicated model
l10n.ro.account.compensation with a status bar (draft → done → cancel), per-partner line picker, and full audit trail (mail.thread).
Cancelling sets the source journal entry back to draft and then
cancels it, releasing the previously reconciled lines.
The module is the Romanian Proces-verbal de compensare equivalent — a simple, partner-centric way to clear two-way balances without going through bank or cash payments.
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
- Dedicated compensation document — model
l10n.ro.account.compensationwith header (partner, date, journal, currency) and one line per open receivable / payable item. State bardraft → done → cancel, full chatter tracking. - One-click line collection — Get Lines searches all unreconciled
posted moves for the partner across
liability_payable,asset_receivableand their extra variants, and lists each with its original and residual amount, converted to the compensation currency. - Amount validation — onchange guards stop you from over-allocating
a line: positive residuals accept
0 ≤ amount ≤ residual, negative residuals acceptresidual ≤ amount ≤ 0. On Post, the document refuses to confirm unless the sum of all line amounts is exactly zero. - Automatic reconciliation — Post creates an
account.movein the configured general journal, generates one debit/credit line per selected entry stamped withl10n_ro_compensation_line_id, posts it, and reconciles each new line with its sourceaccount.move.line. - Cancel rollback — cancelling the compensation sets the source journal entry to draft and then cancels it, which automatically unreconciles the matched lines.
- Multi-currency aware — line residuals are converted to the
compensation currency at the compensation date; the posted entry
records
amount_currencyandcurrency_idon every line. - Romanian menu — Accounting → Romania → Partner Compensation
(under the
account_ro_actions_menugroup), available to users withaccount.group_account_user.
Configuration
The module does not require dedicated configuration. It expects a working Romanian Accounting setup (chart of accounts, partners with posted invoices and bills).
1. General journal
Compensation entries are posted in a general journal
(type = general). The form's Journal field is restricted by domain
to [('type', '=', 'general')]. Make sure at least one such journal
exists per company (a Miscellaneous Operations journal is usually
present out of the box).
Open Accounting → Configuration → Journals, verify the journal you want to use, or create one if needed.
2. Access rights
The Partner Compensation menu and document are restricted to users
in the Accounting / Billing group
(account.group_account_user). Grant this group from
Settings → Users & Companies → Users.
The dedicated Account Compensation security rules
(security/account_compensation_security.xml) align row-level access
with the standard Romanian accounting permissions.
3. Multi-company / multi-currency
- Company is taken from the journal and is read-only.
- Currency defaults from the company but can be overridden per document; residuals are then converted from the journal-item currency to the compensation currency at the compensation date.
No extra setup is required for either case beyond the standard Odoo configuration.
How it works
Open Accounting → Romania → Partner Compensation and click New.

- Pick the Partner, the compensation Date and the Journal (general type). Optionally adjust the Currency if you want to compensate in a currency other than the company's.
- Click Get Lines. The lines tab fills with every unreconciled posted journal item of that partner on payable / receivable accounts, with original and residual amounts (residuals converted to the chosen currency at the document date).
- In the Amount column enter how much of each line to allocate. Receivable lines are usually positive, payable lines negative (or vice-versa for credit notes). The footer shows the running totals for residual and allocation.
- When the Total Allocation sums to zero, click Post. The
module creates a balanced entry in the chosen journal, stamps each
line with
l10n_ro_compensation_line_id, posts it and reconciles it with the corresponding source line. - The Journal Items tab on the document then shows the resulting
account.moveand its posted lines.
Cancelling
Click Cancel on a done compensation: the source journal entry is
set back to draft and cancelled, which unreconciles the affected
lines. You can then create a new compensation or set the document
back to Draft to amend it.
Validation rules
- The total allocation must equal zero before Post; otherwise the document raises The total amount must be equal to zero.
- At least one line must have a non-zero amount.
- Each individual amount must stay between
0and the line's residual (or between the negative residual and0for credit-side residuals).
Versions
19.0.0.1.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