Los comprobantes fiscales deben emitirse por los actos o actividades que se realicen, por los ingresos que perciban
o por las
retenciones de contribuciones que efectúen los contribuyentes ya sean personas físicas o personas morales.
La estructura básica de un CFDI de Nómina se muestra en esta sección
Sin embargo el CFDI de nómina se puede aplicar a conceptos adicionales al sueldo
CFDIs de Nómina adicionales
"NameId": "16",
"CfdiType": "N",
"ExpeditionPlace": "78240",
"PaymentMethod": "PUE",
"Receiver": {
"Rfc": "FUNK671228PH6",
"CfdiUse": "CN01",
"Name": "KARLA FUENTE NOLASCO",
"FiscalRegime": "605",
"TaxZipCode" : "83200"
},
Debe ser una persona física.
En la estructura es representado por un nodo que se coloca en el atributo Receiver
puedes ver en la documentación de la API
"Complemento": {
"Payroll": {
"Type": "O",
"PaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"InitialPaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"FinalPaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"DaysPaid": 5,
"Issuer": {
"EmployerRegistration": "B5510768108",
"FromEmployerRfc": "EKU9003173C9"
},
"Employee": {
"Curp": "BADD110313HCMLNS09",
"SocialSecurityNumber": "1234567890",
"StartDateLaborRelations": "2019-01-15T13:43:59.3952019-06:00",
"ContractType": "01",
"RegimeType": "02",
"Unionized": true,
"TypeOfJourney": "01",
"EmployeeNumber": "012345672ST",
"Department": "Software and Deployments",
"Position": "Developer",
"PositionRisk": "1",
"FrequencyPayment": "01",
"Bank": "SANTANDER",
"BankAccount": "1234567890",
"BaseSalary": 1,
"DailySalary": 1,
"FederalEntityKey": "SLP"
},
"Perceptions": {
"Details": [
{
"PerceptionType": "001",
"Code": "00500",
"Description": "Salario Diario",
"TaxedAmount": 4,
"ExemptAmount": 5
}
]
},
"Deductions": {
"Details": [
{
"DeduccionType": "001",
"Code": "IMSS",
"Description": "Seguridad Social",
"Amount": 4
},
{
"DeduccionType": "002",
"Code": "ISR",
"Description": "Impuesto Sobre la Renta",
"Amount": 2
},
{
"DeduccionType": "003",
"Code": "RETIRO",
"Description": "Aportacion a retiro",
"Amount": 1
}
]
},
"OtherPayments": [{
"EmploymentSubsidy": {
"Amount": "10"
},
"OtherPaymentType": "002",
"Code": "000",
"Description": "Subsidio",
"Amount": 10
}]
}
El Nodo "Payroll" que forma parte del Nodo "Complemento" es la esencia de Nómina
Las secciones que lo conforman serán detalladas a continuación
"Type": "O",
"PaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"InitialPaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"FinalPaymentDate": "2019-01-15T13:43:59.4011985-06:00",
"DaysPaid": 5,
"Issuer": {
"EmployerRegistration": "B5510768108"
}
En este nodo se debe expresar la información adicional del contribuyente emisor del comprobante fiscal (Empleador).
"Employee": {
"Curp": "GAMA800912MSPRRD05",
"SocialSecurityNumber": "92919084431",
"PositionRisk": 1,
"ContractType": "01",
"RegimeType": "02",
"Unionized": false,
"TypeOfJourney": "01",
"EmployeeNumber": "006",
"Department": null,
"Position": null,
"FrequencyPayment": "04",
"FederalEntityKey": "SLP",
"DailySalary": 50.00,
"StartDateLaborRelations": "2019-01-01"
},
En este nodo se debe expresar la información del contribuyente receptor (trabajador asalariado o asimilado a salarios) del comprobante.
"Perceptions": {
"Details": [{
"PerceptionType": "046",
"Code": "046",
"Description": "ASIMILIADOS A SALARIOS",
"TaxedAmount": 3621.18,
"ExemptAmount": 0.00
}]
},
En este nodo se pueden expresar las percepciones aplicables.
La suma de los importes de los campos TotalSueldos más TotalSeparacionIndemnizacion más TotalJubilacionPensionRetiro debe ser igual a la suma de los importes de los campos TotalGravado más TotalExento
Se debe registrar la descripción de cada uno de los conceptos de percepción.
Se ingresa el nombre o descripción específica que dé el patrón de cada uno de los conceptos de percepción pagado al trabador que corresponda, esta descripción puede o no coincidir con la descripción del catálogo Tipo de percepción
"Deductions": {
"Details": [
{
"DeduccionType": "001",
"Code": "IMSS",
"Description": "Seguridad Social",
"Amount": 4
},
{
"DeduccionType": "002",
"Code": "ISR",
"Description": "Impuesto Sobre la Renta",
"Amount": 2
},
{
"DeduccionType": "003",
"Code": "RETIRO",
"Description": "Aportacion a retiro",
"Amount": 1
}
]
}
En este nodo se deben expresar las deducciones aplicables
{
"NameId": 16,
"ExpeditionPlace": "78240",
"Folio": 1,
"CfdiType": "N",
"PaymentMethod": "PUE",
"Receiver": {
"Rfc": "FUNK671228PH6",
"CfdiUse": "CN01",
"Name": "KARLA FUENTE NOLASCO",
"FiscalRegime": "605",
"TaxZipCode" : "83200"
},
"Complemento": {
"Payroll": {
"Type": "O",
"DailySalary": 0.00,
"BaseSalary": 0.00,
"PaymentDate": "2019-09-06",
"InitialPaymentDate": "2019-08-22",
"FinalPaymentDate": "2019-09-06",
"DaysPaid": 15,
"Issuer": {
"EmployerRegistration": "B5510768108"
},
"Employee": {
"Curp": "GAMA800912MSPRRD05",
"SocialSecurityNumber": "92919084431",
"PositionRisk": 1,
"ContractType": "01",
"RegimeType": "02",
"Unionized": false,
"TypeOfJourney": "01",
"EmployeeNumber": "006",
"Department": null,
"Position": null,
"FrequencyPayment": "04",
"FederalEntityKey": "SLP",
"DailySalary": 50.00,
"StartDateLaborRelations": "2019-01-01"
},
"Perceptions": {
"Details": [{
"PerceptionType": "046",
"Code": "046",
"Description": "ASIMILIADOS A SALARIOS",
"TaxedAmount": 3621.18,
"ExemptAmount": 0.00
}]
},
"Deductions": {
"Details": [{
"DeduccionType": "002",
"Code": "002",
"Description": "ISR",
"Amount": 272.60
}]
},
"OtherPayments": [{
"EmploymentSubsidy": {
"Amount": "10"
},
"OtherPaymentType": "002",
"Code": "000",
"Description": "Subsidio",
"Amount": 10
}]
}
}
}