- APPS
- Refund Accounts 17.0
| Lines of Code | 1021 |
| Technical name | to_refund_account |
| License | OPL-1 |
| Website | https://viindoo.com/apps/modules/17.0/to_refund_account |
| Read description for | v 10.0 v 11.0 v 12.0 v 13.0 v 14.0 v 15.0 v 16.0 |
| Required Apps | Invoicing (account) Discuss (mail) |
| Included Dependencies | Viindoo Base Viindoo Accounting |
A return is not negative revenue - give it its own account
Set an Income Refund and an Expense Refund account on the product or its category, and every credit note posts there instead of reversing the sales or purchase account. Gross sales stays gross; returns become a line you can read.
Refund Accounts (technical name to_refund_account) is an Odoo 17.0 app for Odoo Community and Odoo Enterprise and Viindoo Cloud, built for chief accountant, financial controller, auditor, everyone else.
At a Glance
The facts of Refund Accounts, version 1.0, in one place. Published by Viindoo.
Key Features
In standard Odoo a credit note debits the same income account the invoice credited. Net revenue is right, and everything else is lost: you cannot see what was sold and what came back, the returns rate is invisible in the ledger, and any report built on the sales account quietly nets the two together. Most charts of accounts have an answer for this - Sales Returns and Allowances, Purchase Returns and Allowances - and this module makes Odoo use it. Put the refund account on a product or on a product category, and when a credit note is created, its lines post to the refund account instead. The original invoice is untouched, no report needs rewriting, and the trial balance finally shows returns as their own figure.
Per category, not per product
Set it once on the category; products inherit until you say otherwise.
The invoice is untouched
The original entry keeps the ordinary income account - only the return moves.
Credit notes as usual
Same document, same workflow; the difference is in the journal items.
Every credit note in one list
What came back, from whom, and for how much.
How It Works
Two settings and a credit note.
Name the refund accounts
Two accounts in the chart, one for each direction. Most statutory charts already have them; if yours does not, they are ordinary income and expense accounts.
Point the product or its category at them
Set them once on the category and every product inherits; override on a single product where it matters. Empty means the ordinary income or expense account, exactly as today.
The credit note posts where it belongs
Validate the credit note and its product lines land on the refund account. The invoice it reverses keeps its own accounts, so gross sales and returns are two separate figures from that moment on.
What You Get
Income Refund Account and Expense Refund Account, per product or per product category
Credit notes and vendor refunds post to those accounts automatically, on validation
Falls back to the category when the product has none, and to the ordinary income account when neither is set
Company-dependent, like Odoo's own income and expense account properties
Applies to reversals as well as to credit notes created by hand
Nothing changes on the customer-facing document - only the accounts behind it
More Screens
Everything below was taken on a database seeded with real business data, on this series - not a mock-up and not a screenshot from an older version.
Refund accounts on the product
Refund accounts on the category
A credit note
The returns accounts in the chart
What This App Does Not Do
Read this before you buy. Everything below is something the app deliberately leaves to another app or to you.
Your P&L will show the returns account wherever its account type puts it; how it is presented is a matter for your financial report configuration.
Tax and receivable lines follow Odoo's own rules, as they should.
Credit notes posted before the accounts were set keep the accounts they were posted with.
It builds on viin_account, which comes with it.
Works Well With
Apps from the same stack, built to fit this one:
Accounting Analysis
Pivot the returns account against sales, once they are separate.
to_accounting_biWho Should Use Refund Accounts?
Chief accountant
Reads returns as their own balance instead of inferring them from a net figure.
Financial controller
Reports gross sales and returns separately without a manual reclassification each month.
Auditor
Sees the returns account and the invoices behind it, in the ledger.
Everyone else
Issues credit notes exactly as before.
Frequently Asked Questions
What does Refund Accounts do?
Set an Income Refund and an Expense Refund account on the product or its category, and every credit note posts there instead of reversing the sales or purchase account. Gross sales stays gross; returns become a line you can read.
What does Refund Accounts not do?
It changes accounts, not reports. Your P&L will show the returns account wherever its account type puts it; how it is presented is a matter for your financial report configuration. Only product lines move. Tax and receivable lines follow Odoo's own rules, as they should. Nothing is reclassified retroactively. Credit notes posted before the accounts were set keep the accounts they were posted with. It needs the Accounting Foundation. It builds on viin_account, which comes with it.
Who is Refund Accounts for?
Chief accountant: Reads returns as their own balance instead of inferring them from a net figure. Financial controller: Reports gross sales and returns separately without a manual reclassification each month. Auditor: Sees the returns account and the invoices behind it, in the ledger. Everyone else: Issues credit notes exactly as before.
Which Odoo version and editions does it support?
Odoo 17.0 - Odoo Community, Odoo Enterprise, Viindoo Cloud. Upgrades to a newer Odoo series are a separate purchase for that series.
What does it depend on?
It installs on top of: viin_account. Odoo installs them with it.
How do I set it up?
Two settings and a credit note.
What works well with it?
Accounting Foundation (viin_account): The accounting layer this extends, installed with it. Accounting Analysis (to_accounting_bi): Pivot the returns account against sales, once they are separate. Account Counterparts (to_account_counterpart): See the other side of every return in one column.
Can I try it before buying?
Yes - the Live Preview button at the top of this page opens the module's own screen on a working database.
How do I get support?
Write to apps.support@viindoo.com with your Odoo version and the technical name to_refund_account; pre-sales questions go to sales@viindoo.com.
See Refund Accounts in Action
Live demo: v17demo-int.viindoo.com/web#action=account.action_move_out_refund_type
Need help with Refund Accounts?
For questions, implementation support or a custom feature, contact Viindoo.
Pre-Sales & Partnership
sales@viindoo.comUpgrades to a newer Odoo series are a separate purchase for that series.
All Viindoo apps: apps.odoo.com/apps/modules/browse?author=Viindoo
Technical Requirement
Changes log
1.0 - Latest on the 17.0 line
- Credit notes and vendor refunds post product lines to the refund account when one is set.
- The account is resolved product first, then category, then the ordinary income or expense account.
- Reversals created from an invoice pick up the refund accounts as well as credit notes made by hand.
Installation
- Navigate to Apps.
- Search with keyword to_refund_account.
- Press Install.
How to use
Instruction video: Refund Accounts
1. Set up refund account on product/product category
Product category can be accessed from many different places in the system such as Inventory, Purchase, etc. On the product category view, enter the accounts that record the revert entries for the income and expend account.
Press Save to save the information.
Instead of using accounting accounts on product categories, some products will have their own way of recording entries. Viindoo Accounting app allows you to set up income, expense, or refund accounts on each product by navigating to Inventory > Products > Products.
2. Create refund invoices
Start with creating a sales order and then create customer invoice. On the invoice, the system will generate the following journal items:
But since the customer wants to refund the goods, you need to create a credit note The credit note will auto-select the income refund account that you have set on the product or product category.
Repeat similar steps for the vendor bills with the expense refund account.
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.