# ARQUIVO: ./models/financeiro.py from odoo import models, fields, api class RecreacaoFinanceiro(models.Model): _name = 'recreacao.financeiro' _description = 'Movimentação Financeira' _order = 'data_vencimento desc' name = fields.Char(string='Descrição', required=True) tipo = fields.Selection([ ('receita', '🟢 Receita (Entrada)'), ('despesa', '🔴 Despesa (Saída)') ], string='Tipo', required=True, default='receita') valor = fields.Float(string='Valor (R$)', required=True) # --- NOVO CAMPO PARA CONTABILIDADE --- forma_pagamento = fields.Selection([ ('pix', 'PIX'), ('dinheiro', 'Dinheiro'), ('cartao', 'Cartão'), ('boleto', 'Boleto'), ('transferencia', 'TED/DOC') ], string='Forma de Pagto') # ------------------------------------- data_vencimento = fields.Date(string='Vencimento', required=True, default=fields.Date.context_today) data_pagamento = fields.Date(string='Data Pagamento') status = fields.Selection([ ('pendente', 'Pendente'), ('pago', 'Pago'), ('cancelado', 'Cancelado') ], string='Status', default='pendente', tracking=True) partner_id = fields.Many2one('res.partner', string='Pessoa/Fornecedor') crianca_id = fields.Many2one('recreacao.crianca', string='Referente ao Aluno') def action_pagar(self): for rec in self: rec.status = 'pago' rec.data_pagamento = fields.Date.today() def action_cancelar(self): for rec in self: rec.status = 'cancelado' def action_redefinir(self): for rec in self: rec.status = 'pendente' rec.data_pagamento = False