Skip to content
Health
60/100
fair
  • Security25/25
    No findings
  • Activity25/25
    Last human commit 2 months ago
  • Required by5/25
    0 modules depend on it
  • Maturity5/25
    In 1 Odoo series since 18.0

Heuristic over the facts below, not an audit · How it's computed

Security findings
Grave / minor (static analysis)
Required by
0
Modules depending on it
External deps
0 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.08 MB
Module directory on disk
Code analysis 0 migration notes 5 models 2 views 0 HTTP endpoints

Description

This module extends the standard RMA flow and the behavior of sale_stock_restocking_fee_invoicing by allowing:

  • Fixed or percentage-based restocking fees.
  • Restocking fees configurable on the RMA operation or directly on the RMA itself.
  • Automatic fee application at last step of RMA receipt.
  • Integration with different refund strategies:
    • Update sale order quantity.
    • Manual refund after receipt.

Dependencies

Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None

Code analysis

Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.

Views touched 2

XML IDNameModelTypeStatus
rma_form_view rma form Inherits rma.rma_view_form
rma_operation_form_view rma.operation form Inherits rma.rma_operation_form_view

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 5

New fields (2)
  • restocking_fee_amount Float
  • restocking_fee_type Selection
    help='Define whether the restocking fee is a fixed amount or a percentage.' args: [('fixed', 'Fixed Amount'), ('percent', 'Percentage')]
Public methods (0)

No public methods.

New fields (5)
  • manual_restocking_fee_invoice_needed Boolean
    compute='_compute_manual_restocking_fee_invoice_needed'
  • restocking_fee_amount Float
    compute='_compute_restocking_fee' readonly=False store=True
  • restocking_fee_invoice_id Many2one → account.move
    comodel_name='account.move' readonly=True
  • restocking_fee_type Selection
    compute='_compute_restocking_fee' readonly=False store=True
  • restocking_fee_visibility Boolean
    compute='_compute_restocking_fee_visibility'
Public methods (2)
  • action_view_restocking_fee_invoice(self)
  • write(self, vals)
    Be able to propagate restocking fees on all moves of the chain even if added once the reception move is already created.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.