detallista

detallista http://www.sat.gob.mx/detallista

class satcfdi.create.cfd.detallista.TotalAllowanceCharge(allowance_or_charge_type: str, special_services_type: str = None, amount: Decimal | int = None)[source]

Bases: ScalarMap

Nodo opcional que especifica el monto total de cargos o descuentos

Parameters:
  • allowance_or_charge_type – Atributo para especificar los cargos o descuentos consolidados

  • special_services_type – Nodo opcional que especifica el tipo de descuento o cargo. Este atributo sólo se utiliza si el comprador conoce el tipo de descuento o cargo.

  • amount – Nodo opcional que especifica el monto total de los cargos o descuentos

class satcfdi.create.cfd.detallista.TotalAmount(amount: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica el monto total de las líneas de artículos.

Parameters:

amount – Nodo requerido que especifica el monto

class satcfdi.create.cfd.detallista.TradeItemTaxAmount(tax_percentage: Decimal | int, tax_amount: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica el importe o porcentaje del descuento

Parameters:
  • tax_percentage – Nodo requerido que especifica el porcentaje del impuesto

  • tax_amount – Nodo requerido que especifica el monto del impuesto

class satcfdi.create.cfd.detallista.TradeItemTaxInformation(tax_type_description: str, reference_number: str = None, trade_item_tax_amount: TradeItemTaxAmount | dict = None, tax_category: str = None)[source]

Bases: ScalarMap

Nodo opcional que especifica los impuestos por cada línea de artículo

Parameters:
  • tax_type_description – Nodo requerido que especifica el tipo de arancel, impuesto o cuota.

  • reference_number – Nodo opcional que especifica el numero de identificación del impuesto. Numero asignado al comprador por una jurisdicción de impuesto

  • trade_item_tax_amount – Nodo opcional que especifica el importe o porcentaje del descuento

  • tax_category – Nodo opcional que especifica el identificador de impuesto retenido o transferido

class satcfdi.create.cfd.detallista.RatePerUnit(amount_per_unit: str)[source]

Bases: ScalarMap

Nodo opcional que especifica la Tarifa por unidad

Parameters:

amount_per_unit – Nodo requerido que especifica el importe monetario del cargo o descuento por unidad

class satcfdi.create.cfd.detallista.MonetaryAmountOrPercentage(percentage_per_unit: str, rate_per_unit: RatePerUnit | dict = None)[source]

Bases: ScalarMap

Nodo requerido que especifica la cantidad monetaria o descuento por linea de articulo

Parameters:
  • percentage_per_unit – Nodo requerido que especifica el porcentaje del cargo o descuento

  • rate_per_unit – Nodo opcional que especifica la Tarifa por unidad

class satcfdi.create.cfd.detallista.AllowanceCharge(allowance_charge_type: str, monetary_amount_or_percentage: MonetaryAmountOrPercentage | dict, settlement_type: str = None, sequence_number: str = None, special_services_type: str = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la información de los cargos o descuentos globales por línea de artículo

Parameters:
  • allowance_charge_type – Atributo para especificar el cargo o descuento

  • monetary_amount_or_percentage – Nodo requerido que especifica la cantidad monetaria o descuento por linea de articulo

  • settlement_type – Atributo para especificar la imputación del cargo o descuento

  • sequence_number – Atributo para especificar la secuencia de cálculo

  • special_services_type – Nodo opcional que especifica el tipo de descuento o cargo. Este atributo sólo se utiliza si el comprador conoce el tipo de descuento o cargo.

class satcfdi.create.cfd.detallista.LotNumber(_text: str, production_date: date = None)[source]

Bases: ScalarMap

Nodo requerido que especifica el No. De lote

Parameters:
  • _text

  • production_date – Atributo para especificar la fecha de producción

class satcfdi.create.cfd.detallista.Transport(method_of_payment: str)[source]

Bases: ScalarMap

Nodo requerido que especifica el pago de transporte de embalaje

Parameters:

method_of_payment – Nodo requerido que especifica el metodo de pago

class satcfdi.create.cfd.detallista.Description(_text: str, type: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la descripción del empaquetado

Parameters:
  • _text

  • type – Atributo para especificar el tipo de empaquetado

class satcfdi.create.cfd.detallista.PalletInformation(pallet_quantity: str, description: Description | dict, transport: Transport | dict)[source]

Bases: ScalarMap

Nodo opcional que especifica la información de empaquetado

Parameters:
  • pallet_quantity – Nodo requerido que especifica el numero de paquetes

  • description – Nodo requerido que especifica la descripción del empaquetado

  • transport – Nodo requerido que especifica el pago de transporte de embalaje

class satcfdi.create.cfd.detallista.SerialShippingContainerCode(_text: str, type: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la información de Rangos de identificación de productos

Parameters:
  • _text

  • type – Atributo para especificar el codigo del numero de identidad

class satcfdi.create.cfd.detallista.LogisticUnits(serial_shipping_container_code: SerialShippingContainerCode | dict)[source]

Bases: ScalarMap

Nodo opcional que especifica la información de identificación logística

Parameters:

serial_shipping_container_code – Nodo requerido que especifica la información de Rangos de identificación de productos

class satcfdi.create.cfd.detallista.NameAndAddress(name: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la etiqueta padre que indica que se empezará a definir el nombre y dirección de la ubicación donde esta la aduana

Parameters:

name – Nodo requerido que especifica el nombre de la Aduana

class satcfdi.create.cfd.detallista.AlternatePartyIdentification(_text: str, type: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la identificación del no. pedimento a nivel detalle

Parameters:
  • _text

  • type – Atributo para especificar el codigo de identificación secundaria

class satcfdi.create.cfd.detallista.Customs(alternate_party_identification: AlternatePartyIdentification | dict, reference_date: date, name_and_address: NameAndAddress | dict, gln: str = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la ubicación donde se especifica el identificador de la aduana

Parameters:
  • alternate_party_identification – Nodo requerido que especifica la identificación del no. pedimento a nivel detalle

  • reference_date – Nodo requerido que especifica la fecha del pedimento YYYYMMDD

  • name_and_address – Nodo requerido que especifica la etiqueta padre que indica que se empezará a definir el nombre y dirección de la ubicación donde esta la aduana

  • gln – Nodo opcional que especifica el número global de localización (GLN) de la aduana

class satcfdi.create.cfd.detallista.ReferenceIdentification(_text: str, type: str)[source]

Bases: ScalarMap

Nodo opcional que especifica la referencia adicional de los productos

Parameters:
  • _text

  • type – Atributo para especificar el tipo de referencia

class satcfdi.create.cfd.detallista.AdditionalInformation(reference_identification: ReferenceIdentification | dict = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la información adicional de referencia en el detalle de productos

Parameters:

reference_identification – Nodo opcional que especifica la referencia adicional de los productos

class satcfdi.create.cfd.detallista.NetPrice(amount: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica la declaración del precion neto

Parameters:

amount – Nodo requerido que especifica el precio neto de cada artículo

class satcfdi.create.cfd.detallista.GrossPrice(amount: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica la declaración del precio bruto

Parameters:

amount – Nodo requerido que especifica el precio Bruto del artículo sin incluir descuento ni cargos

class satcfdi.create.cfd.detallista.AditionalQuantity(_text: Decimal | int, quantity_type: str)[source]

Bases: ScalarMap

Nodo opcional que especifica la cantidad que se esta declarando como adicional

Parameters:
  • _text

  • quantity_type – Atributo para especificar el codigo de tipo de cantidad adicional declarada

class satcfdi.create.cfd.detallista.TradeItemDescriptionInformation(long_text: str, language: str = None)[source]

Bases: ScalarMap

Nodo opcional que especifica el inicio de la descripción del artículo

Parameters:
  • long_text – Nodo requerido que especifica la descripción del artículo solicitado

  • language – Atributo para especificar el codigo del idioma en que esta la descripción del articulo

class satcfdi.create.cfd.detallista.AlternateTradeItemIdentification(_text: str, type: str)[source]

Bases: ScalarMap

Nodo opcional que especifica el numero de identificación adicional para el artículo.

Parameters:
  • _text

  • type – Atributo para especificar el tipo de identificación adicional, en caso de no utilizar condigo GTIN

class satcfdi.create.cfd.detallista.GrossAmount(amount: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica el importe bruto

Parameters:

amount – Nodo requerido que especifica el importe bruto de la línea de artículo

class satcfdi.create.cfd.detallista.NetAmount(amount: Decimal | int)[source]

Bases: ScalarMap

Nodo requerido que especifica el importe neto

Parameters:

amount – Nodo requerido que especifica el importe neto de la línea de artículo

class satcfdi.create.cfd.detallista.TotalLineAmount(net_amount: NetAmount | dict, gross_amount: GrossAmount | dict = None)[source]

Bases: ScalarMap

Nodo requerido que especifica los importes monetarios por línea de articulo

Parameters:
  • net_amount – Nodo requerido que especifica el importe neto

  • gross_amount – Nodo opcional que especifica el importe bruto

class satcfdi.create.cfd.detallista.InvoicedQuantity(_text: Decimal | int, unit_of_measure: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la cantidad facturada del producto en la línea de articulo actual

Parameters:
  • _text

  • unit_of_measure – Atributo para especificar la unidad de medida, solo si el articulo es de unidad variable

class satcfdi.create.cfd.detallista.TradeItemIdentification(gtin: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la identificación de cada artículo

Parameters:

gtin – Nodo requerido que especifica el código EAN del artículo solicitado

class satcfdi.create.cfd.detallista.LineItem(trade_item_identification: TradeItemIdentification | dict, invoiced_quantity: InvoicedQuantity | dict, total_line_amount: TotalLineAmount | dict, type: str = None, number: int = None, alternate_trade_item_identification: AlternateTradeItemIdentification | dict | Sequence[AlternateTradeItemIdentification | dict] = None, trade_item_description_information: TradeItemDescriptionInformation | dict = None, aditional_quantity: AditionalQuantity | dict | Sequence[AditionalQuantity | dict] = None, gross_price: GrossPrice | dict = None, net_price: NetPrice | dict = None, additional_information: AdditionalInformation | dict = None, customs: Customs | dict | Sequence[Customs | dict] = None, logistic_units: LogisticUnits | dict = None, pallet_information: PalletInformation | dict = None, extended_attributes: LotNumber | dict | Sequence[LotNumber | dict] = None, allowance_charge: AllowanceCharge | dict | Sequence[AllowanceCharge | dict] = None, trade_item_tax_information: TradeItemTaxInformation | dict | Sequence[TradeItemTaxInformation | dict] = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la linea de detalle de la factura

Parameters:
  • trade_item_identification – Nodo requerido que especifica la identificación de cada artículo

  • invoiced_quantity – Nodo requerido que especifica la cantidad facturada del producto en la línea de articulo actual

  • total_line_amount – Nodo requerido que especifica los importes monetarios por línea de articulo

  • type – Atributo para especificar el tipo de línea de detalle

  • number – Atributo para especificar el numero secuencial que se asigna a cada línea de detalle

  • alternate_trade_item_identification – Nodo opcional que especifica el numero de identificación adicional para el artículo.

  • trade_item_description_information – Nodo opcional que especifica el inicio de la descripción del artículo

  • aditional_quantity – Nodo opcional que especifica la cantidad que se esta declarando como adicional

  • gross_price – Nodo opcional que especifica la declaración del precio bruto

  • net_price – Nodo opcional que especifica la declaración del precion neto

  • additional_information – Nodo opcional que especifica la información adicional de referencia en el detalle de productos

  • customs – Nodo opcional que especifica la ubicación donde se especifica el identificador de la aduana

  • logistic_units – Nodo opcional que especifica la información de identificación logística

  • pallet_information – Nodo opcional que especifica la información de empaquetado

  • extended_attributes – Nodo opcional que especifica la información adicional de lote del producto facturado

  • allowance_charge – Nodo opcional que especifica la información de los cargos o descuentos globales por línea de artículo

  • trade_item_tax_information – Nodo opcional que especifica los impuestos por cada línea de artículo

class satcfdi.create.cfd.detallista.Rate(base: str, percentage: Decimal | int)[source]

Bases: ScalarMap

Nodo opcional que especifica la tarifa

Parameters:
  • base – Atributo para especificar la base del porcentaje que se aplicara

  • percentage – Nodo opcional que especifica el porcentaje de descuento que se está aplicando según se ha indicado en el campo anterior a toda la factura

class satcfdi.create.cfd.detallista.ShipmentDetail[source]

Bases: ScalarMap

Nodo opcional que especifica la información pertinente para el embarque de la mercancía.

class satcfdi.create.cfd.detallista.DiscountPayment(discount_type: str, percentage: str)[source]

Bases: ScalarMap

Nodo opcional que especifica los descuentos por pago

Parameters:
  • discount_type – Atributo para especificar el calificador de porcentajes

  • percentage – Nodo requerido que especifica el valor de los porcentajes que serán descontados o cargados si la factura no se paga dentro del término. El porcentaje será en base al valor de la factura

class satcfdi.create.cfd.detallista.TimePeriodDue(time_period: str, value: str)[source]

Bases: ScalarMap

Nodo requerido que especifica el tiempo de pago

Parameters:
  • time_period – Atributo para especificar el tipo de periodo

  • value – Nodo requerido que especifica el numero de periodos

class satcfdi.create.cfd.detallista.PaymentTimePeriod(time_period_due: TimePeriodDue | dict)[source]

Bases: ScalarMap

Nodo opcional que especifica el periodo de pago de la factura

Parameters:

time_period_due – Nodo requerido que especifica el tiempo de pago

class satcfdi.create.cfd.detallista.NetPayment(net_payment_terms_type: str, payment_time_period: PaymentTimePeriod | dict = None)[source]

Bases: ScalarMap

Nodo opcional que especifica las condiciones de pago

Parameters:
  • net_payment_terms_type – Atributo para especificar las condiciones de pago

  • payment_time_period – Nodo opcional que especifica el periodo de pago de la factura

class satcfdi.create.cfd.detallista.PaymentTerms(payment_terms_event: str = None, payment_terms_relation_time: str = None, net_payment: NetPayment | dict = None, discount_payment: DiscountPayment | dict = None)[source]

Bases: ScalarMap

Nodo opcional que especifica los términos de pago de la factura

Parameters:
  • payment_terms_event – Atributo para especificar la referencia del tiempo de pago

  • payment_terms_relation_time – Atributo para especificar el termino de relación del tiempo de pago

  • net_payment – Nodo opcional que especifica las condiciones de pago

  • discount_payment – Nodo opcional que especifica los descuentos por pago

class satcfdi.create.cfd.detallista.Currency(currency_isocode: str, currency_function: str | Sequence[str], rate_of_change: Decimal | int = None)[source]

Bases: ScalarMap

Nodo opcional que especifica el tipo de divisa utilizada, para efectos de comprobantes fiscales digitales emitidos UNICAMENTE se podrá utilizar como divisa la moneda nacional (MXN), sin embargo dentro del complemento se podrá detallar en otra de forma informativa. Lo detallado en esta etiqueta deberá coincidir con lo declarado en las etiquetas del SAT considerando el tipo de cambio.

Parameters:
  • currency_isocode – Atributo para especificar el codigo de la moneda utilizada para detallar la relación de facturas.Todas las cantidades posteriores seran expresadas en la divisa detallada en esta etiqueta

  • currency_function – Nodo requerido que especifica la función de divisa

  • rate_of_change – Nodo opcional que especifical la tasa de cambio que se aplica a las monedas. La regla general para calcular la tasa de cambio es la siguiente: Divisa de Referencia multiplicada por la Tasa = Divisa Objetivo

class satcfdi.create.cfd.detallista.InvoiceCreator(gln: str = None, alternate_party_identification: AlternatePartyIdentification | dict = None, name_and_address: NameAndAddress | dict = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la ubicación donde se especifica el identificador del emisor de la factura si es distinto del identificador del proveedor.

Parameters:
  • gln – Nodo opcional que especifica el número global de localización (GLN)de la ubicación del emisor de la factura

  • alternate_party_identification – Nodo opcional que especifica la identificación secundaria del emisor de la factura

  • name_and_address

class satcfdi.create.cfd.detallista.ShipTo(gln: str = None, name_and_address: NameAndAddress | dict = None)[source]

Bases: ScalarMap

Nodo opcional que especifica la ubicación donde debe realizarse la entrega de la mercancía.

Parameters:
  • gln – Nodo opcional que especifica el número global de localización (GLN) de la ubicación a entregar la mercancía

  • name_and_address – Nodo opcional que especifica el nombre y dirección de la ubicación donde debe realizarse la entrega de mercancía

class satcfdi.create.cfd.detallista.Seller(gln: str, alternate_party_identification: AlternatePartyIdentification | dict)[source]

Bases: ScalarMap

Nodo opcional que especifica información del vendedor

Parameters:
  • gln – Nodo requerido que especifica el número global de localización (GLN) del vendedor.

  • alternate_party_identification – Nodo requerido que especifica el código para identificar qué tipo de identificación secundaria se le asignó al proveedor

class satcfdi.create.cfd.detallista.DeliveryNote(reference_identification: str | Sequence[str], reference_date: date = None)[source]

Bases: ScalarMap

Nodo opcional donde se especifica información de recepción de mercancia.Información emitida por el comprador cuando recibe la mercancía que es facturada

Parameters:
  • reference_identification – Nodo requerido que especifica el numero de folio. Número emitido por el comprador cuando recibe la mercancía que es facturada

  • reference_date – Nodo opcional que especifica la fecha en que fue asignado el no. de folio de recibo

class satcfdi.create.cfd.detallista.SpecialInstruction(code: str, text: str | Sequence[str])[source]

Bases: ScalarMap

Nodo opcional que especifica que tipo de instrucciones comerciales son enviadas

Parameters:
  • code – Atributo para especificar el codigo del tipo de instrucciones comerciales que son enviadas

  • text – Nodo requerido que especifica información de texto que aplica a todo el mensaje de la factura. La información estará en función al código del tema de texto

class satcfdi.create.cfd.detallista.PersonOrDepartmentName(text: str)[source]

Bases: ScalarMap

Etiqueta que especifica el contacto de compras

Parameters:

text – Contacto de Nodo requerido que especifica el contacto de compras

class satcfdi.create.cfd.detallista.ContactInformation(person_or_department_name: PersonOrDepartmentName | dict)[source]

Bases: ScalarMap

Nodo requerido que especifica información del contacto de compras

Parameters:

person_or_department_name – Etiqueta que especifica el contacto de compras

class satcfdi.create.cfd.detallista.Buyer(gln: str, contact_information: ContactInformation | dict = None)[source]

Bases: ScalarMap

Nodo requerido que especifica información del comprador

Parameters:
  • gln – Nodo requerido que especifica el número global de localización (GLN) del comprador.

  • contact_information – Nodo requerido que especifica información del contacto de compras

class satcfdi.create.cfd.detallista.OrderIdentification(reference_identification: ReferenceIdentification | dict | Sequence[ReferenceIdentification | dict], reference_date: date = None)[source]

Bases: ScalarMap

Nodo requerido que especifica información sobre la orden de compra a la que hace referencia la factura

Parameters:
  • reference_identification – Nodo requerido que especifica el número de orden de compra (comprador) a la que hace referencia la factura

  • reference_date – Nodo opcional que especifica la fecha de la orden de compra(comprador) a la que hace referencia la factura

class satcfdi.create.cfd.detallista.RequestForPaymentIdentification(entity_type: str)[source]

Bases: ScalarMap

Nodo requerido que especifica la transacción a utilizar

Parameters:

entity_type – Nodo requerido que especifica el tipo de transacción

class satcfdi.create.cfd.detallista.Detallista(document_status: str, request_for_payment_identification: RequestForPaymentIdentification | dict, order_identification: OrderIdentification | dict, additional_information: ReferenceIdentification | dict | Sequence[ReferenceIdentification | dict], buyer: Buyer | dict, type: str = None, content_version: str = None, special_instruction: SpecialInstruction | dict | Sequence[SpecialInstruction | dict] = None, delivery_note: DeliveryNote | dict = None, seller: Seller | dict = None, ship_to: ShipTo | dict = None, invoice_creator: InvoiceCreator | dict = None, customs: str | Sequence[str] = None, currency: Currency | dict | Sequence[Currency | dict] = None, payment_terms: PaymentTerms | dict = None, shipment_detail: ShipmentDetail | dict = None, allowance_charge: AllowanceCharge | dict | Sequence[AllowanceCharge | dict] = None, line_item: LineItem | dict | Sequence[LineItem | dict] = None, total_amount: TotalAmount | dict = None, total_allowance_charge: TotalAllowanceCharge | dict | Sequence[TotalAllowanceCharge | dict] = None)[source]

Bases: CFDI

Complemento requerido para la emision y recepcion de comprobantes fiscales digitales en el sector Retail

Parameters:
  • document_status – Función del mensaje

  • request_for_payment_identification – Nodo requerido que especifica la transacción a utilizar

  • order_identification – Nodo requerido que especifica información sobre la orden de compra a la que hace referencia la factura

  • additional_information – Nodo requerido que especifica las referencias adicionales a nivel global de la factura

  • buyer – Nodo requerido que especifica información del comprador

  • type – Tipo de transacción bajo estandar del sector detallista

  • content_version – Versión del estandar XML utilizado para la elaboración de la guia del sector detallista

  • special_instruction – Nodo opcional que especifica que tipo de instrucciones comerciales son enviadas

  • delivery_note – Nodo opcional donde se especifica información de recepción de mercancia.Información emitida por el comprador cuando recibe la mercancía que es facturada

  • seller – Nodo opcional que especifica información del vendedor

  • ship_to – Nodo opcional que especifica la ubicación donde debe realizarse la entrega de la mercancía.

  • invoice_creator – Nodo opcional que especifica la ubicación donde se especifica el identificador del emisor de la factura si es distinto del identificador del proveedor.

  • customs – Nodo opcional que especifica la ubicación de la aduana

  • currency – Nodo opcional que especifica el tipo de divisa utilizada, para efectos de comprobantes fiscales digitales emitidos UNICAMENTE se podrá utilizar como divisa la moneda nacional (MXN), sin embargo dentro del complemento se podrá detallar en otra de forma informativa. Lo detallado en esta etiqueta deberá coincidir con lo declarado en las etiquetas del SAT considerando el tipo de cambio.

  • payment_terms – Nodo opcional que especifica los términos de pago de la factura

  • shipment_detail – Nodo opcional que especifica la información pertinente para el embarque de la mercancía.

  • allowance_charge – Nodo opcional que especifica la información de los cargos o descuentos globales mercantiles por factura

  • line_item – Nodo opcional que especifica la linea de detalle de la factura

  • total_amount – Nodo opcional que especifica el monto total de las líneas de artículos.

  • total_allowance_charge – Nodo opcional que especifica el monto total de cargos o descuentos

tag = '{http://www.sat.gob.mx/detallista}detallista'
document_structure_version = 'AMC8.1'