Demo video: Accounting Foundation
The Problem
Odoo Community Edition ships with a capable accounting engine, but its account model lacks several foundational structures that real-world localization demands. Without these structures, localization modules for every country must reinvent the same building blocks — or simply cannot implement certain requirements at all:
- No VAT classification on taxes — there is no standard way to tell whether a tax is a Value Added Tax. Localizations that need VAT-specific workflows (e.g. periodic VAT settlement, VAT deduction reports) have no reliable flag to query against.
- No separate refund accounts — Odoo uses the same income/expense account for both invoices and credit notes. Many countries' chart-of-accounts standards require refunds to post to distinct accounts (e.g. "Sales Returns" vs. "Sales Revenue").
- Missing account types — there is no Financial Income type (interest, forex gains) and no Income Deduction type (sales returns, trade discounts). Localizations cannot properly classify these entries.
- No transfer/allocation tracking — when amounts are reallocated between journal items (e.g. account transfers, partner changes, cut-off entries), Odoo provides no traceability of where the amount came from or went to.
- No Other Receivable / Other Payable accounts on partners — many countries distinguish trade receivables from other receivables (advances, deposits, employee receivables). Odoo has only one receivable and one payable per partner.
- Rigid account code validation — the hard-coded format rejects codes like "112-BIDV" or "112_VCB", common in countries where businesses suffix bank account codes with the bank name.
- No paid/unpaid tracking on invoice lines — reporting on partially paid invoices requires custom computation with no built-in support.
These are not edge cases — they affect every localization that goes beyond basic invoicing.
What This Module Does
viin_account extends Odoo CE Accounting with the missing foundational layer that localization modules can build upon. It does not replace or duplicate Odoo's accounting engine — it fills the structural gaps.
Tax & Fiscal Position
- VAT classification — adds an Is VAT flag to tax groups and taxes, enabling downstream modules to implement VAT-specific logic (settlement, deduction reports, VAT returns).
- Automatic fiscal position by partner type — fiscal positions can be restricted to individuals or companies. The system auto-applies the correct fiscal position based on the partner's type, critical for cross-border e-commerce tax compliance.
- Import/export tax defaults — company-level and product-level default taxes for international trade goods.
Chart of Accounts
- New account types: Financial Income and Income Deduction, enabling proper classification per local GAAP requirements.
- Dual-balance display — accounts can show separate debit and credit balances in trial balance, essential for receivable/payable reporting where partners have mixed balances.
- Flexible account code validation — configurable via system parameter to accept codes with hyphens, underscores, and other characters used in local conventions.
Account Structure
- 10 specialized company-level accounts ready for l10n modules to populate automatically: VAT counterpart (domestic/import/export), income & expense refund, other receivable & payable, employee advance, forex gain & loss, borrowing & lending.
- Separate refund accounts on products and product categories — credit notes can post to different accounts than their original invoices, matching local chart-of-accounts standards.
- Other Receivable / Other Payable accounts on partners — with fallback logic for localizations that distinguish trade and non-trade receivables.
- Billing type on partners — auto-classifies vendors as "Vendor Bill" (companies) or "Purchase Receipt" (individuals), supporting countries that require different document types.
Transfer & Allocation Tracking
- Full transfer/allocation model — tracks reallocated amounts between journal items with source, destination, amount, currency, and percentage. Every transfer is traceable.
- Reversal line tracking — credit note lines link back to the original invoice line they reverse.
- Transfer journal entry navigation — smart buttons show related transfer entries for quick audit trail.
Analytic Accounting
- Pre-configured VAT analytic plans — ready-made analytic structure for VAT classification (deductible, exempt, mixed, investment projects).
- Group-by analytic account on journal items — search panel and grouping support for analytic distributions.
- Analytic line enhancements — direct link to journal entries and filtering by move type.
Invoice & Payment
- Paid/unpaid amounts on invoice lines — computed, stored fields showing how much of each line has been paid, enabling accurate partial payment reporting.
- Extensible payment form — notebook structure for downstream modules to add payment line details, multi-line payments, or payment-on-behalf features.
Reporting & Operations
- Transfer/Allocation analysis — dedicated pivot and list views for auditing all account transfers and reallocations.
- Invoice report extensions — paid/unpaid columns in invoice analysis reports.
- Change Partner wizard — bulk-reassign journal items to different partners with automatic transfer tracking and reconciliation.
Who Should Use This Module?
- Localization developers building chart-of-accounts packages for any country — this module provides the account types, account fields, and tax structures that Odoo CE is missing.
- Businesses operating in countries whose accounting standards require separate refund accounts, VAT-specific logic, trade/non-trade receivable distinction, or flexible account codes.
- Multi-country deployments that need a consistent foundation across all localizations.
This module does not aim to be a full-featured accounting suite. It provides the structural foundation that makes proper localization possible.
Supported Editions
- Community Edition
- Enterprise Edition
Installation
- Navigate to Apps.
- Search with keyword viin_account.
- Press Install.
Note: To see full features of the viin_account module, you need to install the Accounting app.
Instructions
Instruction video: Accounting Customization
New account type
The Financial Income and Income Deduction are new account types added to the Chart of Accounts. This will support building data compilation rules for each target on the financial report right on the Accounting software.
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.