"""pagosaextranjeros http://www.sat.gob.mx/esquemas/retencionpago/1/pagosaextranjeros"""
from decimal import Decimal
from datetime import datetime, date, time
from collections.abc import Sequence
from ...cfdi import CFDI
from ...xelement import XElement
from ...utils import ScalarMap
[docs]
class Beneficiario(ScalarMap):
"""
Nodo opcional para precisar la información del representante para efectos fiscales en México
:param rfc: Atributo requerido para expresar la clave del registro federal de contribuyentes del representante legal en México
:param curp: Atributo requerido para la expresión de la CURP del representante legal
:param nom_den_raz_soc_b: Atributo requerido para expresar el nombre, denominación o razón social del contribuyente en México
:param concepto_pago: Atributo requerido para expresar el tipo de contribuyente sujeto a la retención, conforme al catálogo.
:param descripcion_concepto: Atributo requerido para expresar la descripción de la definición del pago del residente en el extranjero
"""
def __init__(
self,
rfc: str,
curp: str,
nom_den_raz_soc_b: str,
concepto_pago: str,
descripcion_concepto: str,
):
super().__init__({
'RFC': rfc,
'CURP': curp,
'NomDenRazSocB': nom_den_raz_soc_b,
'ConceptoPago': concepto_pago,
'DescripcionConcepto': descripcion_concepto,
})
[docs]
class NoBeneficiario(ScalarMap):
"""
Nodo opcional para expresar la información del residente extranjero efectivo del cobro
:param pais_de_resid_para_efec_fisc: Atributo requerido para expresar la clave del país de residencia del extranjero, conforme al catálogo.
:param concepto_pago: Atributo requerido para expresar el tipo contribuyente sujeto a la retención, conforme al catálogo.
:param descripcion_concepto: Atributo requerido para expresar la descripción de la definición del pago del residente en el extranjero
"""
def __init__(
self,
pais_de_resid_para_efec_fisc: str,
concepto_pago: str,
descripcion_concepto: str,
):
super().__init__({
'PaisDeResidParaEfecFisc': pais_de_resid_para_efec_fisc,
'ConceptoPago': concepto_pago,
'DescripcionConcepto': descripcion_concepto,
})