Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
914 Prikazi

How can I determine a specific account for return , in odoo it reverse the sales account in refunding i want to make an specfice account for returning 

Avatar
Opusti
Best Answer

To set a specific account for returns (refunds) in Odoo instead of reversing the sales account, you need to customize the refund accounting logic by configuring the journal and product settings. Below is a step-by-step guide:

1. Use a Specific Account for Returns at the Product Level

Odoo allows specifying different accounts for specific operations at the product level:

  1. Go to Products:
    • Navigate to Sales > Products or Inventory > Products.
  2. Enable Advanced Accounting Features:
    • Go to Settings > Accounting.
    • Enable Analytic Accounting and Accounting features if not already enabled.
  3. Configure the Product Categories:
    • Open the Product Category for the product you want to configure.
    • Under the Accounting tab, you will find:
      • Income Account (for sales revenue).
      • Refund Account (custom account for returns).
  4. Set a Specific Return Account:
    • Assign a specific account for returns in the Income Account for Credit Notes field (Odoo may call this Refund Account in older versions).
    • This ensures that any refund for products in this category will use the specified account.

2. Use a Specific Account for Refunds at the Journal Level

If you want to configure a specific return account globally for a journal:

  1. Go to Journals:
    • Navigate to Accounting > Configuration > Journals.
    • Open the journal used for refunds (e.g., Customer Refunds).
  2. Configure the Journal Settings:
    • Under the Advanced Settings tab:
      • Set a specific account for refunds in the Default Debit Account and Default Credit Account fields.
    • This ensures that the journal always posts refund entries to the specified account.

3. Adjust the Refund Process to Use a Custom Return Account

Odoo defaults to reversing the original sales account for refunds. To override this behavior:

Option 1: Use a Custom Credit Note Default

You can create a credit note template with a specific return account:

  1. Go to Accounting > Customers > Credit Notes.
  2. Create a draft credit note and manually set the return account for the lines.
  3. Save this as a template for future returns.

Option 2: Automate with a Customization

If you need this behavior automated for all refunds, a developer can modify the account assignment logic.

Here’s an example:

pythonCopy codefrom odoo import models, api

class AccountMove(models.Model):
    _inherit = 'account.move'

    @api.model
    def _reverse_move(self, default_values, cancel=False):
        # Call the original reverse function
        reversed_moves = super(AccountMove, self)._reverse_move(default_values, cancel)
        
        # Set a custom return account for refunds
        for move in reversed_moves:
            for line in move.line_ids:
                if line.account_id.user_type_id.type == 'income':  # Check if it's a sales account
                    line.account_id = self.env['account.account'].search([('name', '=', 'Returns Account')], limit=1)
        
        return reversed_moves

This code overrides the default reverse logic, replacing the sales account with a specific returns account for refunds.

4. Test the Setup

  1. Create a Sales Order and Invoice:
    • Generate a sales order and validate the invoice.
    • Post the invoice to check the sales account.
  2. Create a Credit Note (Refund):
    • Refund the invoice and verify that the specified return account is used.

5. Reporting and Analysis

Once the returns are correctly posted to a separate account, you can:

  • Use the Profit and Loss Report to analyze returns.
  • Filter or group by the returns account to understand the impact of refunds.

Conclusion

To determine a specific account for returns in Odoo:

  1. Configure Income Account for Credit Notes at the product category level.
  2. Set Default Debit/Credit Accounts at the journal level for refunds.
  3. Use customizations if additional automation is required.

Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
0
apr. 25
353
0
mar. 25
354
1
mar. 25
384
0
jan. 25
2
0
dec. 19
4724