| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Community Apps Dependencies | Show |
| Lines of code | 3794 |
| Technical Name |
viin_account |
| License | OPL-1 |
| Website | https://viindoo.com/apps/app/17.0/viin_account |
| Versions | 14.0 15.0 16.0 17.0 18.0 19.0 |
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.
Automatically apply a suitable fiscal position for each contact type
Example: You have an e-commerce business with customers who purchase products from your website.
- Customer is a company, located outside of Vietnam, a VAT rate of 0% is applied;
- Customer is a company, located in Vietnam, a VAT rate of 10% is applied.
Workflow on the software:
Note: To view the whole workflow in this example, you need to install the e-Commerce app;
Step 1: Configure fiscal position.
Step 2: Purchase products on the website, register customer's information and check customer invoices.
- Foreign customer: Based on the address provided by the customer at the purchasing step, their fiscal position will be automatically detected with the VAT rate of 0% that you have configured previously.
- Vietnamese customer: Fiscal position with a tax rate of 10% will be automatically recognized for customers residing inside Vietnam.
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