Files
plugin_recre/models/financeiro.py
2026-02-17 23:47:16 +01:00

52 lines
1.7 KiB
Python

# 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