| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- from odoo import api, fields, models
- class AccountCfdiLine(models.Model):
- _name = 'account.cfdi.line'
- _description = 'Linea de complemento CFDI'
- sequence = fields.Integer(string='Secuencia')
- name = fields.Char()
- cfdi_id = fields.Many2one(comodel_name="account.cfdi", string="CFDI")
- company_id = fields.Many2one(comodel_name='res.company', string='Empresa', related='cfdi_id.company_id')
- code_cfdi = fields.Char(string='UUID')
- date = fields.Date(string='Fecha')
- folio = fields.Char(string='Folio')
- payment_method = fields.Char(string='Forma de pago')
- location = fields.Char(string='Lugar de expedición')
- payment_type = fields.Selection(string='Método de pago', selection=[('PPD', 'PPD'), ('PUE', 'PUE')])
- currency = fields.Char(string='Moneda')
- certificate_number = fields.Char(string='Nro. de certificado')
- stamp = fields.Char(string='Sello')
- serie = fields.Char(string='Serie')
- subtotal = fields.Float(string='Subtotal')
- cfdi_type = fields.Selection(selection=[
- ('I', u'Facturas de clientes'),
- ('SI', u'Facturas de proveedor'),
- ('E', u'Notas de crédito cliente'),
- ('SE', u'Notas de crédito proveedor'),
- ('P', u'REP de clientes'),
- ('SP', u'REP de proveedores'),
- ('N', u'Nóminas de empleados'),
- ('SN', u'Nómina propia'),
- ('T', u'Factura de traslado cliente'),
- ('ST', u'Factura de traslado proveedor'),
- ], string='Tipo de comprobante', index=True)
- total = fields.Float(string='Total', readonly=True)
- version = fields.Char(string='Versión', readonly=True)
- emitter_id = fields.Many2one(comodel_name='res.partner', string='Emisor')
- receiver_id = fields.Many2one(comodel_name='res.partner', string='Receptor')
- quantity = fields.Float(string='Cantidad', digits='Product Unit of Measure')
- product_code = fields.Char(string='Clave')
- uom_code = fields.Char(string='Clave unidad')
- description = fields.Char(string='Descripción')
- discount = fields.Float(string='Descuento')
- amount = fields.Float(string='Importe')
- unit_price = fields.Float(string='Valor unitario', digits='Product Price')
- no_identification = fields.Char(string='Identificación', readonly=True)
- uom = fields.Char(string='Unidad', readonly=True)
- uom_id = fields.Many2one(comodel_name='uom.uom', string='Unidad de medida')
- unspsc_product_category_id = fields.Many2one(comodel_name='product.unspsc.code', string='Categoria')
- product_tmpl_id = fields.Many2one(comodel_name='product.template', string='Plantilla del producto')
- product_id = fields.Many2one(comodel_name='product.product', string='Producto')
- account_id = fields.Many2one(comodel_name='account.account', string='Cuenta contable')
- account_analytic_account_id = fields.Many2one(comodel_name='account.analytic.account', string='Cuenta analítica')
- analytic_distribution = fields.Json(string="Distribución analítica")
- analytic_precision = fields.Integer(string="Precisión analítica", store=False, default=lambda self: self.env['decimal.precision'].precision_get("Percentage Analytic"))
- tax_ids = fields.One2many('account.cfdi.tax', 'concept_id', string='Impuestos')
|