diff --git a/addons/account/tests/test_account_move_in_invoice.py b/addons/account/tests/test_account_move_in_invoice.py
index d129c300381..d98fae1ef34 100644
--- a/addons/account/tests/test_account_move_in_invoice.py
+++ b/addons/account/tests/test_account_move_in_invoice.py
@@ -1168,53 +1168,53 @@ class TestAccountMoveInInvoiceOnchanges(AccountTestInvoicingCommon):
move_reversal = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=self.invoice.ids).create({
'date': fields.Date.from_string('2019-02-01'),
'reason': 'no reason again',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'journal_id': self.invoice.journal_id.id,
})
reversal = move_reversal.reverse_moves()
- reverse_move = self.env['account.move'].browse(reversal['res_id'])
+ new_move = self.env['account.move'].browse(reversal['res_id'])
self.assertEqual(self.invoice.payment_state, 'reversed', "After cancelling it with a reverse invoice, an invoice should be in 'reversed' state.")
- self.assertInvoiceValues(reverse_move, [
+ self.assertInvoiceValues(new_move, [
{
**self.product_line_vals_1,
- 'amount_currency': -800.0,
- 'debit': 0.0,
- 'credit': 800.0,
+ 'amount_currency': 800.0,
+ 'debit': 800.0,
+ 'credit': 0.0,
},
{
**self.product_line_vals_2,
- 'amount_currency': -160.0,
- 'debit': 0.0,
- 'credit': 160.0,
+ 'amount_currency': 160.0,
+ 'debit': 160.0,
+ 'credit': 0.0,
},
{
**self.tax_line_vals_1,
- 'amount_currency': -144.0,
- 'debit': 0.0,
- 'credit': 144.0,
+ 'amount_currency': 144.0,
+ 'debit': 144.0,
+ 'credit': 0.0,
},
{
**self.tax_line_vals_2,
- 'amount_currency': -24.0,
- 'debit': 0.0,
- 'credit': 24.0,
+ 'amount_currency': 24.0,
+ 'debit': 24.0,
+ 'credit': 0.0,
},
{
**self.term_line_vals_1,
'name': '',
- 'amount_currency': 1128.0,
- 'debit': 1128.0,
- 'credit': 0.0,
+ 'amount_currency': -1128.0,
+ 'debit': 0.0,
+ 'credit': 1128.0,
'date_maturity': move_reversal.date,
},
], {
**self.move_vals,
- 'invoice_payment_term_id': None,
+ 'invoice_payment_term_id': self.pay_terms_a.id,
'date': move_reversal.date,
- 'state': 'posted',
- 'ref': 'Reversal of: %s, %s' % (self.invoice.name, move_reversal.reason),
- 'payment_state': 'paid',
+ 'state': 'draft',
+ 'ref': False,
+ 'payment_state': 'not_paid',
})
def test_in_invoice_create_refund_multi_currency(self):
@@ -1289,59 +1289,59 @@ class TestAccountMoveInInvoiceOnchanges(AccountTestInvoicingCommon):
move_reversal = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=self.invoice.ids).create({
'date': fields.Date.from_string('2017-01-01'),
'reason': 'no reason again',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'journal_id': self.invoice.journal_id.id,
})
reversal = move_reversal.reverse_moves()
- reverse_move = self.env['account.move'].browse(reversal['res_id'])
+ new_move = self.env['account.move'].browse(reversal['res_id'])
self.assertEqual(self.invoice.payment_state, 'reversed', "After cancelling it with a reverse invoice, an invoice should be in 'reversed' state.")
- self.assertInvoiceValues(reverse_move, [
+ self.assertInvoiceValues(new_move, [
{
**self.product_line_vals_1,
- 'amount_currency': -800.0,
+ 'amount_currency': 800.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 0.0,
- 'credit': 400.0,
+ 'debit': 400.0,
+ 'credit': 0.0,
},
{
**self.product_line_vals_2,
- 'amount_currency': -160.0,
+ 'amount_currency': 160.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 0.0,
- 'credit': 80.0,
+ 'debit': 80.0,
+ 'credit': 0.0,
},
{
**self.tax_line_vals_1,
- 'amount_currency': -144.0,
+ 'amount_currency': 144.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 0.0,
- 'credit': 72.0,
+ 'debit': 72.0,
+ 'credit': 0.0,
},
{
**self.tax_line_vals_2,
- 'amount_currency': -24.0,
+ 'amount_currency': 24.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 0.0,
- 'credit': 12.0,
+ 'debit': 12.0,
+ 'credit': 0.0,
},
{
**self.term_line_vals_1,
'name': '',
- 'amount_currency': 1128.0,
+ 'amount_currency': -1128.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 564.0,
- 'credit': 0.0,
+ 'debit': 0.0,
+ 'credit': 564.0,
'date_maturity': move_reversal.date,
},
], {
**self.move_vals,
- 'invoice_payment_term_id': None,
+ 'invoice_payment_term_id': self.pay_terms_a.id,
'currency_id': self.currency_data['currency'].id,
'date': move_reversal.date,
- 'state': 'posted',
- 'ref': 'Reversal of: %s, %s' % (self.invoice.name, move_reversal.reason),
- 'payment_state': 'paid',
+ 'state': 'draft',
+ 'ref': False,
+ 'payment_state': 'not_paid',
})
def test_in_invoice_create_1(self):
diff --git a/addons/account/tests/test_account_move_out_invoice.py b/addons/account/tests/test_account_move_out_invoice.py
index b209b49c8a7..0f0068f8ae9 100644
--- a/addons/account/tests/test_account_move_out_invoice.py
+++ b/addons/account/tests/test_account_move_out_invoice.py
@@ -1785,53 +1785,53 @@ class TestAccountMoveOutInvoiceOnchanges(AccountTestInvoicingCommon):
move_reversal = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=self.invoice.ids).create({
'date': fields.Date.from_string('2019-02-01'),
'reason': 'no reason',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'journal_id': self.invoice.journal_id.id,
})
reversal = move_reversal.reverse_moves()
- reverse_move = self.env['account.move'].browse(reversal['res_id'])
+ new_move = self.env['account.move'].browse(reversal['res_id'])
self.assertEqual(self.invoice.payment_state, 'reversed', "After cancelling it with a reverse invoice, an invoice should be in 'reversed' state.")
- self.assertInvoiceValues(reverse_move, [
+ self.assertInvoiceValues(new_move, [
{
**self.product_line_vals_1,
- 'amount_currency': 1000.0,
- 'debit': 1000.0,
- 'credit': 0.0,
+ 'amount_currency': -1000.0,
+ 'debit': 0.0,
+ 'credit': 1000.0,
},
{
**self.product_line_vals_2,
- 'amount_currency': 200.0,
- 'debit': 200.0,
- 'credit': 0.0,
+ 'amount_currency': -200.0,
+ 'debit': 0.0,
+ 'credit': 200.0,
},
{
**self.tax_line_vals_1,
- 'amount_currency': 180.0,
- 'debit': 180.0,
- 'credit': 0.0,
+ 'amount_currency': -180.0,
+ 'debit': 0.0,
+ 'credit': 180.0,
},
{
**self.tax_line_vals_2,
- 'amount_currency': 30.0,
- 'debit': 30.0,
- 'credit': 0.0,
+ 'amount_currency': -30.0,
+ 'debit': 0.0,
+ 'credit': 30.0,
},
{
**self.term_line_vals_1,
'name': '',
- 'amount_currency': -1410.0,
- 'debit': 0.0,
- 'credit': 1410.0,
+ 'amount_currency': 1410.0,
+ 'debit': 1410.0,
+ 'credit': 0.0,
'date_maturity': move_reversal.date,
},
], {
**self.move_vals,
- 'invoice_payment_term_id': None,
+ 'invoice_payment_term_id': self.pay_terms_a.id,
'date': move_reversal.date,
- 'state': 'posted',
- 'ref': 'Reversal of: %s, %s' % (self.invoice.name, move_reversal.reason),
- 'payment_state': 'paid',
+ 'state': 'draft',
+ 'ref': False,
+ 'payment_state': 'not_paid',
})
def test_out_invoice_create_refund_multi_currency(self):
@@ -1906,59 +1906,59 @@ class TestAccountMoveOutInvoiceOnchanges(AccountTestInvoicingCommon):
move_reversal = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=self.invoice.ids).create({
'date': fields.Date.from_string('2017-01-01'),
'reason': 'no reason',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'journal_id': self.invoice.journal_id.id,
})
reversal = move_reversal.reverse_moves()
- reverse_move = self.env['account.move'].browse(reversal['res_id'])
+ new_move = self.env['account.move'].browse(reversal['res_id'])
self.assertEqual(self.invoice.payment_state, 'reversed', "After cancelling it with a reverse invoice, an invoice should be in 'reversed' state.")
- self.assertInvoiceValues(reverse_move, [
+ self.assertInvoiceValues(new_move, [
{
**self.product_line_vals_1,
- 'amount_currency': 1000.0,
+ 'amount_currency': -1000.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 500.0,
- 'credit': 0.0,
+ 'debit': 0.0,
+ 'credit': 500.0,
},
{
**self.product_line_vals_2,
- 'amount_currency': 200.0,
+ 'amount_currency': -200.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 100.0,
- 'credit': 0.0,
+ 'debit': 0.0,
+ 'credit': 100.0,
},
{
**self.tax_line_vals_1,
- 'amount_currency': 180.0,
+ 'amount_currency': -180.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 90.0,
- 'credit': 0.0,
+ 'debit': 0.0,
+ 'credit': 90.0,
},
{
**self.tax_line_vals_2,
- 'amount_currency': 30.0,
+ 'amount_currency': -30.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 15.0,
- 'credit': 0.0,
+ 'debit': 0.0,
+ 'credit': 15.0,
},
{
**self.term_line_vals_1,
'name': '',
- 'amount_currency': -1410.0,
+ 'amount_currency': 1410.0,
'currency_id': self.currency_data['currency'].id,
- 'debit': 0.0,
- 'credit': 705.0,
+ 'debit': 705.0,
+ 'credit': 0.0,
'date_maturity': move_reversal.date,
},
], {
**self.move_vals,
- 'invoice_payment_term_id': None,
+ 'invoice_payment_term_id': self.pay_terms_a.id,
'currency_id': self.currency_data['currency'].id,
'date': move_reversal.date,
- 'state': 'posted',
- 'ref': 'Reversal of: %s, %s' % (self.invoice.name, move_reversal.reason),
- 'payment_state': 'paid',
+ 'state': 'draft',
+ 'ref': False,
+ 'payment_state': 'not_paid',
})
def test_out_invoice_create_refund_auto_post(self):
diff --git a/addons/l10n_es_edi_facturae/tests/data/expected_refund_document.xml b/addons/l10n_es_edi_facturae/tests/data/expected_refund_document.xml
index 0ce979bf3c3..d21a859ca21 100644
--- a/addons/l10n_es_edi_facturae/tests/data/expected_refund_document.xml
+++ b/addons/l10n_es_edi_facturae/tests/data/expected_refund_document.xml
@@ -64,8 +64,8 @@
OO
INV/2023/00001
- 01
- Invoice number
+ 10
+ Transaction Details
2023-01-01
2023-01-31
diff --git a/addons/l10n_es_edi_facturae/tests/test_edi_xml.py b/addons/l10n_es_edi_facturae/tests/test_edi_xml.py
index 6b5e856a5b7..c6c07b85b1b 100644
--- a/addons/l10n_es_edi_facturae/tests/test_edi_xml.py
+++ b/addons/l10n_es_edi_facturae/tests/test_edi_xml.py
@@ -205,15 +205,14 @@ class TestEdiFacturaeXmls(AccountEdiTestCommon):
invoice.action_post()
reversal_wizard = self.env['account.move.reversal'].create({
'move_ids': invoice.ids,
- 'date_mode': 'custom',
'journal_id': invoice.journal_id.id,
'date': self.frozen_today,
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'company_id': self.company_data['company'].id,
'l10n_es_edi_facturae_reason_code': '01'
})
reversal_wizard.reverse_moves()
- refund = reversal_wizard.new_move_ids
+ refund = invoice.reversal_move_id
generated_file = refund._l10n_es_edi_facturae_render_facturae()
self.assertTrue(generated_file)
diff --git a/addons/purchase_stock/tests/test_anglo_saxon_valuation_reconciliation.py b/addons/purchase_stock/tests/test_anglo_saxon_valuation_reconciliation.py
index d2d0a7f89b1..69e51c811aa 100644
--- a/addons/purchase_stock/tests/test_anglo_saxon_valuation_reconciliation.py
+++ b/addons/purchase_stock/tests/test_anglo_saxon_valuation_reconciliation.py
@@ -106,15 +106,16 @@ class TestValuationReconciliation(ValuationReconciliationTestCommon):
# Refund the invoice
refund_invoice_wiz = self.env['account.move.reversal'].with_context(active_model="account.move", active_ids=[invoice.id]).create({
'reason': 'test_invoice_shipment_refund',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'date': '2018-03-15',
'journal_id': invoice.journal_id.id,
})
- refund_invoice = self.env['account.move'].browse(refund_invoice_wiz.reverse_moves()['res_id'])
-
+ new_invoice = self.env['account.move'].browse(refund_invoice_wiz.reverse_moves()['res_id'])
+ refund_invoice = invoice.reversal_move_id
# Check the result
self.assertEqual(invoice.payment_state, 'reversed', "Invoice should be in 'reversed' state")
self.assertEqual(refund_invoice.payment_state, 'paid', "Refund should be in 'paid' state")
+ self.assertEqual(new_invoice.state, 'draft', "New invoice should be in 'draft' state")
self.check_reconciliation(refund_invoice, return_pick)
def test_multiple_shipments_invoices(self):
diff --git a/addons/sale_stock/tests/test_anglo_saxon_valuation_reconciliation.py b/addons/sale_stock/tests/test_anglo_saxon_valuation_reconciliation.py
index 98238885c96..763253041a8 100644
--- a/addons/sale_stock/tests/test_anglo_saxon_valuation_reconciliation.py
+++ b/addons/sale_stock/tests/test_anglo_saxon_valuation_reconciliation.py
@@ -116,13 +116,14 @@ class TestValuationReconciliation(TestValuationReconciliationCommon):
return_pick._action_done()
refund_invoice_wiz = self.env['account.move.reversal'].with_context(active_model='account.move', active_ids=[invoice.id]).create({
'reason': 'test_invoice_shipment_refund',
- 'refund_method': 'cancel',
+ 'refund_method': 'modify',
'journal_id': invoice.journal_id.id,
})
- refund_invoice = self.env['account.move'].browse(refund_invoice_wiz.reverse_moves()['res_id'])
+ new_invoice = self.env['account.move'].browse(refund_invoice_wiz.reverse_moves()['res_id'])
self.assertEqual(invoice.payment_state, 'reversed', "Invoice should be in 'reversed' state.")
- self.assertEqual(refund_invoice.payment_state, 'paid', "Refund should be in 'paid' state.")
- self.check_reconciliation(refund_invoice, return_pick, operation='sale')
+ self.assertEqual(invoice.reversal_move_id.payment_state, 'paid', "Refund should be in 'paid' state.")
+ self.assertEqual(new_invoice.state, 'draft', "New invoice should be in 'draft' state.")
+ self.check_reconciliation(invoice.reversal_move_id, return_pick, operation='sale')
def test_multiple_shipments_invoices(self):
""" Tests the case into which we deliver part of the goods first, then 2 invoices at different rates, and finally the remaining quantities