From 4fcd7e18c05505a93a6f1b8950807bb9c5e0ce46 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Wed, 4 Mar 2020 22:36:20 -0600 Subject: [PATCH] Global invoice by ticket --- source/app/models/main.py | 121 ++++++++++++++++++++++--- source/app/settings.py | 8 ++ source/templates/plantilla_factura.ods | Bin 29070 -> 29653 bytes 3 files changed, 117 insertions(+), 12 deletions(-) diff --git a/source/app/models/main.py b/source/app/models/main.py index b1f42ab..25f8353 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -41,6 +41,7 @@ from settings import log, COMPANIES, VERSION, PATH_CP, PRE, CURRENT_CFDI, \ from controllers import utils from settings import ( DEBUG, + DEFAULT_GLOBAL, DB_COMPANIES, EXT, IS_MV, @@ -57,7 +58,7 @@ FORMAT4 = '{0:.4f}' FORMAT6 = '{0:.6f}' FORMAT_TAX = FORMAT4 FORMAT_PRECIO = FORMAT4 -RFC_PUBLICO = 'XAXX010101000' +# ~ RFC_PUBLICO = 'XAXX010101000' RFC_EXTRANJERO = 'XEXX010101000' @@ -4242,7 +4243,7 @@ class Facturas(BaseModel): if invoice.donativo and invoice.forma_pago == '12': return - if invoice.cliente.rfc == RFC_PUBLICO: + if invoice.cliente.rfc == RFCS['PUBLIC']: return importe = invoice.total_mn @@ -4804,6 +4805,9 @@ class Facturas(BaseModel): def _make_xml(self, invoice, auth): tax_decimals = Configuracion.get_bool('chk_config_tax_decimals') decimales_precios = Configuracion.get_bool('chk_config_decimales_precios') + invoice_by_ticket = Configuracion.get_bool('chk_config_invoice_by_ticket') + is_global = (invoice.cliente.rfc == RFCS['PUBLIC']) and invoice_by_ticket + frm_vu = FORMAT if decimales_precios: frm_vu = FORMAT_PRECIO @@ -4869,7 +4873,6 @@ class Facturas(BaseModel): 'Nombre': emisor.nombre, 'RegimenFiscal': invoice.regimen_fiscal, } - receptor = { 'Rfc': invoice.cliente.rfc, 'Nombre': invoice.cliente.nombre, @@ -4884,9 +4887,15 @@ class Facturas(BaseModel): conceptos = [] rows = FacturasDetalle.select().where(FacturasDetalle.factura==invoice) for row in rows: + if is_global: + key_sat = row.clave_sat + key = row.clave + else: + key_sat = row.producto.clave_sat + key = row.producto.clave concepto = { - 'ClaveProdServ': row.producto.clave_sat, - 'NoIdentificacion': row.producto.clave, + 'ClaveProdServ': key_sat, + 'NoIdentificacion': key, 'Cantidad': FORMAT.format(row.cantidad), 'ClaveUnidad': row.unidad, 'Unidad': SATUnidades.get(SATUnidades.key==row.unidad).name[:20], @@ -4918,7 +4927,21 @@ class Facturas(BaseModel): retenciones = [] if invoice.tipo_comprobante != 'T': - for impuesto in row.producto.impuestos: + + if is_global: + ticket = (Tickets + .get(fn.Concat(Tickets.serie, Tickets.folio)==row.clave) + ) + product_taxes = (TicketsImpuestos + .select() + .where(TicketsImpuestos.ticket==ticket) + ) + else: + product_taxes = row.producto.impuestos + + for impuesto in product_taxes: + if is_global: + impuesto = impuesto.impuesto base = float(row.importe - row.descuento) if impuesto.tipo == 'E': tax = { @@ -5198,7 +5221,7 @@ class Facturas(BaseModel): tipo_persona = 1 if receptor['rfc'] == 'XEXX010101000': tipo_persona = 4 - elif receptor['rfc'] == RFC_PUBLICO: + elif receptor['rfc'] == RFCS['PUBLIC']: tipo_persona = 3 elif len(receptor['rfc']) == 12: tipo_persona = 2 @@ -5302,7 +5325,7 @@ class Facturas(BaseModel): tipo_persona = 1 if receptor['rfc'] == 'XEXX010101000': tipo_persona = 4 - elif receptor['rfc'] == RFC_PUBLICO: + elif receptor['rfc'] == RFCS['PUBLIC']: tipo_persona = 3 elif len(receptor['rfc']) == 12: tipo_persona = 2 @@ -5455,7 +5478,7 @@ class Facturas(BaseModel): if invoice.donativo and invoice.forma_pago == '12': return - if invoice.cliente.rfc == RFC_PUBLICO: + if invoice.cliente.rfc == RFCS['PUBLIC']: return importe = invoice.total_mn @@ -7232,15 +7255,85 @@ class Tickets(BaseModel): } return data + def _get_totals_invoice_by_ticket(self, invoice, ids): + subtotal = 0 + descuento_cfdi = 0 + totals_tax = {} + total_trasladados = None + total_retenciones = None + notes = Tickets.get_notes(ids) + + rows = Tickets.select().where(Tickets.id.in_(ids)) + + for row in rows: + details = DEFAULT_GLOBAL.copy() + details['clave'] = row.serie + str(row.folio) + details['factura'] = invoice.id + + unit_value = row.subtotal + discount = row.descuento + final_price = unit_value - discount + importe = final_price + + details['valor_unitario'] = unit_value + details['descuento'] = discount + details['precio_final'] = final_price + details['importe'] = importe + + descuento_cfdi += details['descuento'] + subtotal += details['importe'] + + FacturasDetalle.create(**details) + + rows = (TicketsImpuestos + .select( + TicketsImpuestos.impuesto, + fn.Sum(TicketsImpuestos.base), + fn.Sum(TicketsImpuestos.importe)) + .where(TicketsImpuestos.ticket.in_(ids)) + .group_by(TicketsImpuestos.impuesto) + .order_by(TicketsImpuestos.impuesto) + ) + for tax in rows: + invoice_tax = { + 'factura': invoice.id, + 'impuesto': tax.impuesto.id, + 'base': tax.base, + 'importe': tax.importe, + } + FacturasImpuestos.create(**invoice_tax) + + if tax.impuesto.tipo == 'T' and tax.impuesto.key != '000': + total_trasladados = (total_trasladados or 0) + tax.importe + elif tax.impuesto.tipo == 'R' and tax.impuesto.key != '000': + total_retenciones = (total_retenciones or 0) + tax.importe + + total = subtotal - descuento_cfdi + \ + (total_trasladados or 0) - (total_retenciones or 0) + + type_change = Decimal(invoice.tipo_cambio) + total_mn = round(total * type_change, DECIMALES) + data = { + 'subtotal': subtotal, + 'descuento': descuento_cfdi, + 'total': total, + 'total_mn': total_mn, + 'total_trasladados': total_trasladados, + 'total_retenciones': total_retenciones, + 'notas': notes, + } + return data + @classmethod def invoice(cls, values, user): is_invoice_day = util.get_bool(values['is_invoice_day']) id_client = int(values['client']) tickets = util.loads(values['tickets']) + invoice_by_ticket = Configuracion.get_bool('chk_config_invoice_by_ticket') if is_invoice_day: filters = ( - Socios.rfc == RFC_PUBLICO and + Socios.rfc == RFCS['PUBLIC'] and Socios.slug == 'publico_en_general') try: client = Socios.get(filters) @@ -7275,7 +7368,10 @@ class Tickets(BaseModel): with database_proxy.atomic() as txn: obj = Facturas.create(**data) - totals = cls._calculate_totals_invoice(cls, obj, tickets) + if is_invoice_day and invoice_by_ticket: + totals = cls._get_totals_invoice_by_ticket(cls, obj, tickets) + else: + totals = cls._calculate_totals_invoice(cls, obj, tickets) obj.subtotal = totals['subtotal'] obj.descuento = totals['descuento'] obj.total_trasladados = totals['total_trasladados'] @@ -7447,6 +7543,7 @@ class Tickets(BaseModel): data['timbre'] = {} data['donataria'] = {} data['ine'] = {} + data['leyendas'] = () return data @@ -9183,7 +9280,7 @@ def _init_values(rfc): data = ( {'clave': 'version', 'valor': VERSION}, {'clave': 'migracion', 'valor': '0'}, - {'clave': 'rfc_publico', 'valor': RFC_PUBLICO}, + {'clave': 'rfc_publico', 'valor': RFCS['PUBLIC']}, {'clave': 'rfc_extranjero', 'valor': 'XEXX010101000'}, {'clave': 'decimales', 'valor': '2'}, {'clave': 'path_key', 'valor': ''}, diff --git a/source/app/settings.py b/source/app/settings.py index 3476f67..1b5bfdc 100644 --- a/source/app/settings.py +++ b/source/app/settings.py @@ -236,8 +236,16 @@ VALUES_PDF = { RFCS = { 'PUBLIC': 'XAXX010101000', + 'FOREIGN': 'XEXX010101000', } URL = { 'SEAFILE': 'https://seafile.elmau.net', } + +DEFAULT_GLOBAL = { + 'cantidad': 1.00, + 'unidad': 'ACT', + 'descripcion': 'Venta', + 'clave_sat': '01010101', +} diff --git a/source/templates/plantilla_factura.ods b/source/templates/plantilla_factura.ods index a35d18a53799b628dc2d7e398a3967ca75acce39..050517590f0c361df9193e55008222ebf3cea516 100644 GIT binary patch delta 21297 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 OF%CX_=XjAnwEqW57I#Ph delta 20761 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 Rz$b&CO5p;;3-`{){U5AgJD>mn