account move from deposit uses partner and suspense account

16-gn-cash-refactor
Florian Roger 2 months ago
parent 948a3425c1
commit 08c514519b

@ -26,6 +26,10 @@ It is based on modules:
- [x] sequencing on statement gen
- [x] add button on payment to access statement if is_matched
- [x] add orphan statement lines in the next gen statement
- [x] add partner in deposit and move
- [x] use suspense account
- [] choose beetween bank and cash journal for a deposit
- [] add a button to put directly the cash order from bank to cash
- [] add cash deposits / cash outs to statement
- [] check all reconciled before closing loss/profit
- [] What to do when statement line generated has no label

@ -1,6 +1,6 @@
{
'name': "Gn Cash",
'version': '16.0.0.0.6',
'version': '16.0.0.0.7',
'author': 'Garage Numérique',
'category': 'Accounting',
'description': """

@ -7,6 +7,7 @@ class AccountCashDeposit(models.Model):
partner_id = fields.Many2one(
comodel_name='res.partner',
domain=[('is_company','=', False), '|', ('parent_id', '=', False), ('parent_id.is_company', '=', True)],
string='Partner',
compute='_compute_partner_id', store=True, readonly=False, precompute=True,
ondelete='restrict',
@ -17,11 +18,36 @@ class AccountCashDeposit(models.Model):
for deposit in self:
deposit.ensure_one()
if not deposit.partner_id:
deposit.write({'partner_id': self.env.user.id})
deposit.write({'partner_id': self.env.user.partner_id.id})
def _prepare_account_move(self, vals):
move_vals = super()._prepare_account_move(vals)
if move_vals['line_ids']:
'''
change move if deposit partner is defined
'''
if self.partner_id:
for line_tuple in move_vals["line_ids"]:
'''
change transfer_account_id to partner_account_payable_id
'''
if line_tuple[2]['account_id'] == self.company_id.transfer_account_id.id:
line_tuple[2]['account_id'] = self.partner_id.property_account_payable_id.id
line_tuple[2]['partner_id'] = self.partner_id.id
break
'''
Use suspense account for reconciliation with statement
'''
journal = self.env['account.journal'].browse(move_vals['journal_id'])
if not journal.suspense_account_id:
raise UserError(_("Suspense Account for Journal is not defined"))
for line_tuple in move_vals['line_ids']:
if line_tuple[2]['account_id'] == journal.default_account_id.id:
line_tuple[2]['account_id'] = journal.suspense_account_id.id
break
return move_vals
# def _prepare_account_move(self, vals):
# move_vals = self.super()._prepare_account_move(vals)
# if move_vals['line_ids'] and self.partner_id and self.partner_id.:
# for line_values in move_vals['lines_ids']:
# if

Loading…
Cancel
Save