summaryrefslogtreecommitdiff
path: root/fixco_api
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-05-31 15:01:35 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-05-31 15:01:35 +0700
commitaae5fa0956b49b8fd3fb46ec1c87d9e9fa56603f (patch)
tree3f683e6950a35236d1d5b89f73ec9d44bcefa0c6 /fixco_api
parent7c8ce142f6072dc700c2eb90821ba213b957828d (diff)
fix error paid invoice
Diffstat (limited to 'fixco_api')
-rw-r--r--fixco_api/models/invoice.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/fixco_api/models/invoice.py b/fixco_api/models/invoice.py
index 354d3ea..dc21fd3 100644
--- a/fixco_api/models/invoice.py
+++ b/fixco_api/models/invoice.py
@@ -1,4 +1,6 @@
from odoo import models
+from odoo import api, fields, models, _
+from odoo.exceptions import RedirectWarning, UserError, ValidationError, AccessError
class Invoice(models.Model):
@@ -15,7 +17,7 @@ class Invoice(models.Model):
'partner_id': invoice.partner_id.id,
'amount': invoice.amount_residual,
'date': invoice.invoice_date,
- 'journal_id': self.env['account.journal'].search([('type', '=', 'bank')], limit=1).id,
+ 'journal_id': invoice.partner_id.ginee_journal_id.id,
'payment_method_id': self.env.ref('account.account_payment_method_manual_in').id,
'ref': invoice.name,
# 'communication': invoice.name,
@@ -24,6 +26,13 @@ class Invoice(models.Model):
payment.action_post()
# Reconcile payment with invoice
- (invoice.line_ids + payment.move_id.line_ids) \
- .filtered(lambda line: line.account_id.reconcile) \
- .reconcile()
+ # (invoice.line_ids + payment.move_id.line_ids) \
+ # .filtered(lambda line: line.account_id.reconcile) \
+ # .reconcile()
+ receivable_lines = invoice.line_ids.filtered(lambda line: line.account_id.internal_type == 'receivable')
+ payment_lines = payment.move_id.line_ids.filtered(
+ lambda line: line.account_id.internal_type == 'receivable')
+ for receivable_line in receivable_lines:
+ for payment_line in payment_lines:
+ if receivable_line.account_id == payment_line.account_id:
+ (receivable_line + payment_line).reconcile()