cfdi40

class satcfdi.create.cfd.cfdi40.Impuesto(impuesto: str, tipo_factor: str, tasa_o_cuota: decimal.Decimal | int = None, importe: decimal.Decimal | int = None, base: decimal.Decimal | int = None)[source]

Bases: XElement

http://www.sat.gob.mx/cfd/4 Nodo requerido para la información detallada de un traslado de impuesto específico.

classmethod parse(impuesto: str) Impuesto[source]
tag
class satcfdi.create.cfd.cfdi40.CfdiRelacionados(tipo_relacion: str, cfdi_relacionado: str | collections.abc.Sequence[str])[source]

Bases: XElement

http://www.sat.gob.mx/cfd/4 Nodo opcional para precisar la información de los comprobantes relacionados.

tag
class satcfdi.create.cfd.cfdi40.InformacionGlobal(periodicidad: str, meses: str, ano: int)[source]

Bases: XElement

http://www.sat.gob.mx/cfd/4 Nodo condicional para precisar la información relacionada con el comprobante global.

tag
class satcfdi.create.cfd.cfdi40.Parte(clave_prod_serv: str, cantidad: decimal.Decimal | int, descripcion: str, no_identificacion: str = None, unidad: str = None, valor_unitario: decimal.Decimal | int = None, importe: decimal.Decimal | int = None, informacion_aduanera: str | collections.abc.Sequence[str] = None)[source]

Bases: XElement

http://www.sat.gob.mx/cfd/4 Nodo opcional para expresar las partes o componentes que integran la totalidad del concepto expresado en el comprobante fiscal digital por Internet.

tag
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: XElement

http://www.sat.gob.mx/cfd/4 Nodo opcional para registrar información del contribuyente Tercero, a cuenta del que se realiza la operación.

tag
class satcfdi.create.cfd.cfdi40.Concepto(clave_prod_serv: str, cantidad: decimal.Decimal | int, clave_unidad: str, descripcion: str, valor_unitario: decimal.Decimal | int, objeto_imp: str = None, no_identificacion: str = None, unidad: str = None, descuento: decimal.Decimal | int = None, a_cuenta_terceros: satcfdi.create.cfd.cfdi40.ACuentaTerceros | dict = None, informacion_aduanera: str | collections.abc.Sequence[str] = None, cuenta_predial: str | collections.abc.Sequence[str] = None, complemento_concepto: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, parte: satcfdi.create.cfd.cfdi40.Parte | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.Parte | dict] = None, traslados: satcfdi.create.cfd.cfdi40.Impuesto | str | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.Impuesto | str | dict] = None, retenciones: satcfdi.create.cfd.cfdi40.Impuesto | str | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.Impuesto | str | dict] = None, _traslados_incluidos: bool = False)[source]

Bases: XElement

http://www.sat.gob.mx/cfd/4 Nodo requerido para registrar la información detallada de un bien o servicio amparado en el comprobante.

tag
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: XElement

http://www.sat.gob.mx/cfd/4 Nodo requerido para precisar la información del contribuyente receptor del comprobante.

tag
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

comprobante: CFDI
num_parcialidad: int = None
imp_saldo_ant: decimal.Decimal | int = None
imp_pagado: decimal.Decimal | int = None
class satcfdi.create.cfd.cfdi40.Comprobante(emisor: Issuer, lugar_expedicion: str, receptor: satcfdi.create.cfd.cfdi40.Receptor | dict, conceptos: satcfdi.create.cfd.cfdi40.Concepto | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.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.Decimal | int = None, metodo_pago: str = None, confirmacion: str = None, informacion_global: satcfdi.create.cfd.cfdi40.InformacionGlobal | dict = None, cfdi_relacionados: satcfdi.create.cfd.cfdi40.CfdiRelacionados | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.CfdiRelacionados | dict] = None, complemento: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, addenda: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, fecha: datetime = None)[source]

Bases: CFDI

Estándar de Comprobante Fiscal Digital por Internet.

tag
version = '4.0'
complemento_pago

alias of Pagos

classmethod pago(emisor: Issuer, lugar_expedicion: str, receptor: satcfdi.create.cfd.cfdi40.Receptor | dict, complemento_pago: CFDI, cfdi_relacionados: satcfdi.create.cfd.cfdi40.CfdiRelacionados | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, fecha: datetime = None) CFDI[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

objeto CFDI

classmethod pago_comprobantes(emisor: Issuer, lugar_expedicion: str, comprobantes: satcfdi.cfdi.CFDI | satcfdi.create.cfd.cfdi40.PagoComprobante | collections.abc.Sequence[satcfdi.cfdi.CFDI | satcfdi.create.cfd.cfdi40.PagoComprobante], fecha_pago: datetime, forma_pago: str, tipo_cambio: decimal.Decimal | int = None, cfdi_relacionados: satcfdi.create.cfd.cfdi40.CfdiRelacionados | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, fecha: datetime = None) CFDI[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).

  • comprobantes – Sequence[Mapping[str, Any]]a de CFDIS de Comprobante de Ingreso para generar el pago por su monto total

  • 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

objeto CFDI

classmethod nomina(emisor: Issuer, lugar_expedicion: str, receptor: satcfdi.create.cfd.cfdi40.Receptor | dict, complemento_nomina: CFDI, cfdi_relacionados: satcfdi.create.cfd.cfdi40.CfdiRelacionados | collections.abc.Sequence[satcfdi.create.cfd.cfdi40.CfdiRelacionados | dict] = None, confirmacion: str = None, serie: str = None, folio: str = None, addenda: satcfdi.cfdi.CFDI | collections.abc.Sequence[satcfdi.cfdi.CFDI] = None, fecha: datetime = None) CFDI[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

objeto CFDI