cfdi40
cfdi http://www.sat.gob.mx/cfd/4
- class satcfdi.create.cfd.cfdi40.CfdiRelacionados(tipo_relacion: str, cfdi_relacionado: str | Sequence[str])[source]
Bases:
ScalarMapNodo opcional para precisar la información de los comprobantes relacionados.
- Parameters:
tipo_relacion – Atributo requerido para indicar la clave de la relación que existe entre éste que se está generando y el o los CFDI previos.
cfdi_relacionado – Nodo requerido para precisar la información de los comprobantes relacionados.
- class satcfdi.create.cfd.cfdi40.InformacionGlobal(periodicidad: str, meses: str, ano: int)[source]
Bases:
ScalarMapNodo condicional para precisar la información relacionada con el comprobante global.
- Parameters:
periodicidad – Atributo requerido para expresar el período al que corresponde la información del comprobante global.
meses – Atributo requerido para expresar el mes o los meses al que corresponde la información del comprobante global.
ano – Atributo requerido para expresar el año al que corresponde la información del comprobante global.
- class satcfdi.create.cfd.cfdi40.Parte(clave_prod_serv: str, cantidad: Decimal | int, descripcion: str, no_identificacion: str = None, unidad: str = None, valor_unitario: Decimal | int = None, importe: Decimal | int = None, informacion_aduanera: str | Sequence[str] = None)[source]
Bases:
ScalarMapNodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
- Parameters:
clave_prod_serv – Atributo requerido para expresar la clave del producto o del servicio amparado por la presente parte. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos.
cantidad – Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por la presente parte.
descripcion – Atributo requerido para precisar la descripción del bien o servicio cubierto por la presente parte.
no_identificacion – Atributo opcional para expresar el número de serie, número de parte del bien o identificador del producto o del servicio amparado por la presente parte. Opcionalmente se puede utilizar claves del estándar GTIN.
unidad – Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en la parte. La unidad debe corresponder con la descripción de la parte.
valor_unitario – Atributo opcional para precisar el valor o precio unitario del bien o servicio cubierto por la presente parte. No se permiten valores negativos.
importe – Atributo opcional para precisar el importe total de los bienes o servicios de la presente parte. Debe ser equivalente al resultado de multiplicar la cantidad por el valor unitario expresado en la parte. No se permiten valores negativos.
informacion_aduanera – Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior con bienes o servicios.
- class satcfdi.create.cfd.cfdi40.ACuentaTerceros(rfc_a_cuenta_terceros: str, nombre_a_cuenta_terceros: str, regimen_fiscal_a_cuenta_terceros: str, domicilio_fiscal_a_cuenta_terceros: str)[source]
Bases:
ScalarMapNodo opcional para registrar información del contribuyente Tercero, a cuenta del que se realiza la operación.
- Parameters:
rfc_a_cuenta_terceros – Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes del contribuyente Tercero, a cuenta del que se realiza la operación.
nombre_a_cuenta_terceros – Atributo requerido para registrar el nombre, denominación o razón social del contribuyente Tercero correspondiente con el Rfc, a cuenta del que se realiza la operación.
regimen_fiscal_a_cuenta_terceros – Atributo requerido para incorporar la clave del régimen del contribuyente Tercero, a cuenta del que se realiza la operación.
domicilio_fiscal_a_cuenta_terceros – Atributo requerido para incorporar el código postal del domicilio fiscal del Tercero, a cuenta del que se realiza la operación.
- class satcfdi.create.cfd.cfdi40.Traslado(impuesto: str, tipo_factor: str, tasa_o_cuota: Decimal | int = None, importe: Decimal | int = None, base: Decimal | int = None)[source]
Bases:
ScalarMapNodo requerido para la información detallada de un traslado de impuesto específico.
- Parameters:
base – Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
impuesto – Atributo requerido para señalar la clave del tipo de impuesto retencion.
tipo_factor – Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
tasa_o_cuota – Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
importe – Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
- class satcfdi.create.cfd.cfdi40.Retencion(impuesto: str, tipo_factor: str, tasa_o_cuota: Decimal | int = None, importe: Decimal | int = None, base: Decimal | int = None)[source]
Bases:
ScalarMapNodo requerido para la información detallada de un traslado de impuesto específico.
- Parameters:
base – Atributo requerido para señalar la suma de los atributos Base de los conceptos del impuesto trasladado. No se permiten valores negativos.
impuesto – Atributo requerido para señalar la clave del tipo de impuesto retencion.
tipo_factor – Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto.
tasa_o_cuota – Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada por los conceptos amparados en el comprobante.
importe – Atributo condicional para señalar la suma del importe del impuesto trasladado, agrupado por impuesto, TipoFactor y TasaOCuota. No se permiten valores negativos.
- class satcfdi.create.cfd.cfdi40.Impuestos(retenciones: Retencion | dict | str | Sequence[Retencion | dict | str] = None, traslados: Traslado | dict | str | Sequence[Traslado | dict | str] = None)[source]
Bases:
ScalarMapNodo condicional para expresar el resumen de los impuestos aplicables.
- Parameters:
retenciones – Nodo condicional para capturar los impuestos retenidos aplicables. Es requerido cuando en los conceptos se registre algún impuesto retenido.
traslados – Nodo condicional para capturar los impuestos trasladados aplicables. Es requerido cuando en los conceptos se registre un impuesto trasladado.
- class satcfdi.create.cfd.cfdi40.Concepto(clave_prod_serv: str, cantidad: Decimal | int, clave_unidad: str, descripcion: str, valor_unitario: Decimal | int, objeto_imp: str = None, no_identificacion: str = None, unidad: str = None, descuento: Decimal | int = None, impuestos: Impuestos | dict = None, a_cuenta_terceros: ACuentaTerceros | dict = None, informacion_aduanera: str | Sequence[str] = None, cuenta_predial: str | Sequence[str] = None, complemento_concepto: CFDI | Sequence[CFDI] = None, parte: Parte | Sequence[Parte | dict] = None, _traslados_incluidos: bool = False)[source]
Bases:
ScalarMapNodo requerido para registrar la información detallada de un bien o servicio amparado en el comprobante.
- Parameters:
clave_prod_serv – Atributo requerido para expresar la clave del producto o del servicio amparado por el presente concepto. Es requerido y deben utilizar las claves del catálogo de productos y servicios, cuando los conceptos que registren por sus actividades correspondan con dichos conceptos.
cantidad – Atributo requerido para precisar la cantidad de bienes o servicios del tipo particular definido por el presente concepto.
clave_unidad – Atributo requerido para precisar la clave de unidad de medida estandarizada aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.
descripcion – Atributo requerido para precisar la descripción del bien o servicio cubierto por el presente concepto.
valor_unitario – Atributo requerido para precisar el valor o precio unitario del bien o servicio cubierto por el presente concepto.
objeto_imp – Atributo requerido para expresar si la operación comercial es objeto o no de impuesto.
no_identificacion – Atributo opcional para expresar el número de parte, identificador del producto o del servicio, la clave de producto o servicio, SKU o equivalente, propia de la operación del emisor, amparado por el presente concepto. Opcionalmente se puede utilizar claves del estándar GTIN.
unidad – Atributo opcional para precisar la unidad de medida propia de la operación del emisor, aplicable para la cantidad expresada en el concepto. La unidad debe corresponder con la descripción del concepto.
descuento – Atributo opcional para representar el importe de los descuentos aplicables al concepto. No se permiten valores negativos.
a_cuenta_terceros – Nodo opcional para registrar información del contribuyente Tercero, a cuenta del que se realiza la operación.
informacion_aduanera – Nodo opcional para introducir la información aduanera aplicable cuando se trate de ventas de primera mano de mercancías importadas o se trate de operaciones de comercio exterior con bienes o servicios.
cuenta_predial – Nodo opcional para asentar el número de cuenta predial con el que fue registrado el inmueble, en el sistema catastral de la entidad federativa de que trate, o bien para incorporar los datos de identificación del certificado de participación inmobiliaria no amortizable.
complemento_concepto – Nodo opcional donde se incluyen los nodos complementarios de extensión al concepto definidos por el SAT, de acuerdo con las disposiciones particulares para un sector o actividad específica.
parte – Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.
_traslados_incluidos – si el valor valor_unitario ya incluye traslados.
- class satcfdi.create.cfd.cfdi40.Receptor(rfc: str, nombre: str, domicilio_fiscal_receptor: str, regimen_fiscal_receptor: str, uso_cfdi: str, residencia_fiscal: str = None, num_reg_id_trib: str = None)[source]
Bases:
ScalarMapNodo requerido para precisar la información del contribuyente receptor del comprobante.
- Parameters:
rfc – Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente receptor del comprobante.
nombre – Atributo requerido para registrar el nombre(s), primer apellido, segundo apellido, según corresponda, denominación o razón social del contribuyente, inscrito en el RFC, del receptor del comprobante.
domicilio_fiscal_receptor – Atributo requerido para registrar el código postal del domicilio fiscal del receptor del comprobante.
regimen_fiscal_receptor – Atributo requerido para incorporar la clave del régimen fiscal del contribuyente receptor al que aplicará el efecto fiscal de este comprobante.
uso_cfdi – Atributo requerido para expresar la clave del uso que dará a esta factura el receptor del CFDI.
residencia_fiscal – Atributo condicional para registrar la clave del país de residencia para efectos fiscales del receptor del comprobante, cuando se trate de un extranjero, y que es conforme con la especificación ISO 3166-1 alpha-3. Es requerido cuando se incluya el complemento de comercio exterior o se registre el atributo NumRegIdTrib.
num_reg_id_trib – Atributo condicional para expresar el número de registro de identidad fiscal del receptor cuando sea residente en el extranjero. Es requerido cuando se incluya el complemento de comercio exterior.
- class satcfdi.create.cfd.cfdi40.Emisor(rfc: str, nombre: str, regimen_fiscal: str, fac_atr_adquirente: str = None)[source]
Bases:
ScalarMapNodo requerido para expresar la información del contribuyente emisor del comprobante.
- Parameters:
rfc – Atributo requerido para registrar la Clave del Registro Federal de Contribuyentes correspondiente al contribuyente emisor del comprobante.
nombre – Atributo requerido para registrar el nombre, denominación o razón social del contribuyente inscrito en el RFC, del emisor del comprobante.
regimen_fiscal – Atributo requerido para incorporar la clave del régimen del contribuyente emisor al que aplicará el efecto fiscal de este comprobante.
fac_atr_adquirente – Atributo condicional para expresar el número de operación proporcionado por el SAT cuando se trate de un comprobante a través de un PCECFDI o un PCGCFDISP.
- class satcfdi.create.cfd.cfdi40.PagoComprobante(comprobante: satcfdi.cfdi.CFDI, num_parcialidad: int = None, imp_saldo_ant: decimal.Decimal | int = None, imp_pagado: decimal.Decimal | int = None)[source]
Bases:
object- num_parcialidad: int = None
- imp_saldo_ant: Decimal | int = None
- imp_pagado: Decimal | int = None
- class satcfdi.create.cfd.cfdi40.Comprobante(emisor: Emisor | dict, lugar_expedicion: str, receptor: Receptor | dict, conceptos: Concepto | Sequence[Concepto | dict], moneda: str = 'MXN', tipo_de_comprobante: str = 'I', exportacion: str = '01', serie: str = None, folio: str = None, forma_pago: str = None, condiciones_de_pago: str = None, tipo_cambio: Decimal | int = None, metodo_pago: str = None, confirmacion: str = None, informacion_global: InformacionGlobal | dict = None, cfdi_relacionados: CfdiRelacionados | Sequence[CfdiRelacionados | dict] = None, complemento: CFDI | Sequence[CFDI] = None, addenda: CFDI | Sequence[CFDI] = None, fecha: datetime = None)[source]
Bases:
CFDIEstándar de Comprobante Fiscal Digital por Internet.
- Parameters:
emisor – Nodo requerido para expresar la información del contribuyente emisor del comprobante.
lugar_expedicion – Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).
receptor – Nodo requerido para precisar la información del contribuyente receptor del comprobante.
conceptos – Nodo requerido para listar los conceptos cubiertos por el comprobante.
moneda – Atributo requerido para identificar la clave de la moneda utilizada para expresar los montos, cuando se usa moneda nacional se registra MXN. Conforme con la especificación ISO 4217.
tipo_de_comprobante – Atributo requerido para expresar la clave del efecto del comprobante fiscal para el contribuyente emisor.
exportacion – Atributo requerido para expresar si el comprobante ampara una operación de exportación.
serie – Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.
folio – Atributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.
forma_pago – Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante.
condiciones_de_pago – Atributo condicional para expresar las condiciones comerciales aplicables para el pago del comprobante fiscal digital por Internet. Este atributo puede ser condicionado mediante atributos o complementos.
tipo_cambio – Atributo condicional para representar el tipo de cambio FIX conforme con la moneda usada. Es requerido cuando la clave de moneda es distinta de MXN y de XXX. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo moneda. Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion.
metodo_pago – Atributo condicional para precisar la clave del método de pago que aplica para este comprobante fiscal digital por Internet, conforme al Artículo 29-A fracción VII incisos a y b del CFF.
confirmacion – Atributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.
informacion_global – Nodo condicional para precisar la información relacionada con el comprobante global.
cfdi_relacionados – Nodo opcional para precisar la información de los comprobantes relacionados.
complemento – Nodo opcional donde se incluye el complemento Timbre Fiscal Digital de manera obligatoria y los nodos complementarios determinados por el SAT, de acuerdo con las disposiciones particulares para un sector o actividad específica.
addenda – Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato origen.
fecha – Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante Fiscal Digital por Internet. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.
- tag = '{http://www.sat.gob.mx/cfd/4}Comprobante'
- version = '4.0'
- classmethod pago(emisor: Emisor | dict, lugar_expedicion: str, receptor: Receptor | dict, complemento_pago: CFDI, cfdi_relacionados: CfdiRelacionados | Sequence[CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: CFDI | Sequence[CFDI] = None, fecha: datetime = None) Comprobante[source]
Estándar de Comprobante Fiscal Digital por Internet de Tipo Pago.
- Parameters:
emisor – Nodo requerido para expresar la información del contribuyente emisor del comprobante.
lugar_expedicion – Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).
receptor – Nodo requerido para precisar la información del contribuyente receptor del comprobante.
complemento_pago – Pago
serie – Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.
folio – Atributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.
confirmacion – Atributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.
cfdi_relacionados – Nodo opcional para precisar la información de los comprobantes relacionados.
addenda – Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato origen.
fecha – Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante Fiscal Digital por Internet. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.
- Returns:
Comprobante
- classmethod pago_comprobantes(comprobantes: CFDI | PagoComprobante | Sequence[CFDI | PagoComprobante], fecha_pago: datetime, forma_pago: str, emisor: Emisor | dict = None, lugar_expedicion: str = None, receptor: Receptor | dict = None, tipo_cambio: Decimal | int = None, cfdi_relacionados: CfdiRelacionados | Sequence[CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: CFDI | Sequence[CFDI] = None, fecha: datetime = None) Comprobante[source]
Estándar de Comprobante Fiscal Digital por Internet de Tipo Pago. Generado a partir de una lista de Comprobantes Se asume que los comprobantes se pagan en su totalidad en una sola exhibición
- Parameters:
emisor – Nodo requerido para expresar la información del contribuyente emisor del comprobante.
lugar_expedicion – Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).
receptor – Nodo requerido para precisar la información del contribuyente receptor del comprobante.
comprobantes – CFDI(s) de Comprobante de Ingreso para generar el pago por su monto total o parcial usando PagoComprobante
fecha_pago – Atributo requerido para expresar la fecha y hora en la que el beneficiario recibe el pago. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.En caso de no contar con la hora se debe registrar 12:00:00.
serie – Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.
folio – Atributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.
forma_pago – Atributo condicional para expresar la clave de la forma de pago de los bienes o servicios amparados por el comprobante.
tipo_cambio – Atributo condicional para representar el tipo de cambio FIX conforme con la moneda usada. Es requerido cuando la clave de moneda es distinta de MXN y de XXX. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo moneda. Si el valor está fuera del porcentaje aplicable a la moneda tomado del catálogo c_Moneda, el emisor debe obtener del PAC que vaya a timbrar el CFDI, de manera no automática, una clave de confirmación para ratificar que el valor es correcto e integrar dicha clave en el atributo Confirmacion.
confirmacion – Atributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.
cfdi_relacionados – Nodo opcional para precisar la información de los comprobantes relacionados.
addenda – Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato origen.
fecha – Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante Fiscal Digital por Internet. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.
- Returns:
Comprobante
- classmethod nomina(emisor: Emisor | dict, lugar_expedicion: str, receptor: Receptor | dict, complemento_nomina: CFDI, cfdi_relacionados: CfdiRelacionados | Sequence[CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: CFDI | Sequence[CFDI] = None, fecha: datetime = None) Comprobante[source]
Estándar de Comprobante Fiscal Digital por Internet de Tipo Pago.
- Parameters:
emisor – Nodo requerido para expresar la información del contribuyente emisor del comprobante.
lugar_expedicion – Atributo requerido para incorporar el código postal del lugar de expedición del comprobante (domicilio de la matriz o de la sucursal).
receptor – Nodo requerido para precisar la información del contribuyente receptor del comprobante.
complemento_nomina – Pago
serie – Atributo opcional para precisar la serie para control interno del contribuyente. Este atributo acepta una cadena de caracteres.
folio – Atributo opcional para control interno del contribuyente que expresa el folio del comprobante, acepta una cadena de caracteres.
confirmacion – Atributo condicional para registrar la clave de confirmación que entregue el PAC para expedir el comprobante con importes grandes, con un tipo de cambio fuera del rango establecido o con ambos casos. Es requerido cuando se registra un tipo de cambio o un total fuera del rango establecido.
cfdi_relacionados – Nodo opcional para precisar la información de los comprobantes relacionados.
addenda – Nodo opcional para recibir las extensiones al presente formato que sean de utilidad al contribuyente. Para las reglas de uso del mismo, referirse al formato origen.
fecha – Atributo requerido para la expresión de la fecha y hora de expedición del Comprobante Fiscal Digital por Internet. Se expresa en la forma AAAA-MM-DDThh:mm:ss y debe corresponder con la hora local donde se expide el comprobante.
- Returns:
Comprobante