Enfocado a jubilación, pensiones o haberes de retiro.
La estructura básica de un CFDI de Nómina se muestra en : Nomina de sueldo
Ejemplos de CFDI de Nómina adicionales
"NameId": "16", "CfdiType": Facturama::CfdiType::NOMINA, "ExpeditionPlace": "78220", "PaymentForm": "99", "PaymentMethod": "PUE",
"NameId" => "16", "CfdiType" => "N", "ExpeditionPlace" => "78220", "PaymentForm" => "99", "PaymentMethod" => "PUE",
"NameId": "16", "CfdiType": "N", "ExpeditionPlace": "78220", "PaymentForm": "99", "PaymentMethod": "PUE",
cfdi.setNameId(facturama.Catalogs().NameIds().get(16).getValue()); cfdi.setCfdiType( CfdiType.Nomina.getValue() ); cfdi.setExpeditionPlace("78216"); cfdi.setPaymentForm(facturama.Catalogs().PaymentForms().get(3).getValue()); cfdi.setPaymentMethod("PUE");
NameId = "16", CfdiType = CfdiType.Nomina, ExpeditionPlace = "78220", PaymentForm = "99", PaymentMethod = "PUE",
"NameId": "16", "CfdiType": "N", "ExpeditionPlace": "78220", "PaymentForm": "99", "PaymentMethod": "PUE", "Folio": 100,
"Receiver": { "CfdiUse": "P01", "Name": "ULISES CUEVAS PEREZ", "Rfc": "ROAJ850914837" },
"Receiver" => { "Name" => "ULISES CUEVAS PEREZ", "CfdiUse" => "P01", "Rfc" => "ROAJ850914837" },
"Receiver": { "Name": "ULISES CUEVAS PEREZ", "CfdiUse": "P01", "Rfc": "ROAJ850914837" },
Receiver receiver = new Receiver(); receiver.setName("ULISES CUEVAS PEREZ"); receiver.setCfdiUse("P01"); receiver.setRfc("ROAJ850914837"); cfdi.setReceiver(receiver);
Receiver = new Receiver { Name = "ULISES CUEVAS PEREZ", CfdiUse = "P01", Rfc = "ROAJ850914837" },
"Receiver": { "CfdiUse": "P01", "Name": "ULISES CUEVAS PEREZ", "Rfc": "ROAJ850914837" },
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": "El registro del empleador", "FromEmployerRfc": "EKU9003173C9" }, "Employee": { "Curp": "BADD110313HCMLNS09", "SocialSecurityNumber": "1234567890", "StartDateLaborRelations": "2019-01-15T13:43:59.3952019-06:00", "ContractType": "99", "RegimeType": "99", "Unionized": true, "TypeOfJourney": "01", "EmployeeNumber": "012345672ST", "Department": "Software and Deployments", "Position": "Developer", "PositionRisk": "1", "FrequencyPayment": "01", "Bank": "SANTANDER", "BankAccount": "1234567890", "FederalEntityKey": "SLP" }, "Perceptions": { "Details": [ { "PerceptionType": "001", "Code": "00500", "Description": "Salario Diario", "TaxedAmount": 4, "ExemptAmount": 5 } ] }, "Deductions": { "Details": [ { "DeduccionType": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
"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": "El registro del empleador", "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": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
"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": "El registro del empleador", "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": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
"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": "El registro del empleador", "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": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
"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": "El registro del empleador", "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": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
"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": "El registro del empleador", "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": "006", "Code": "002", "Description": "Descuento por incapacidad", "Amount": 100 }, { "DeduccionType": "002", "Code": "ISR", "Description": "Impuesto Sobre la Renta", "Amount": 20 } ] } } }
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,
"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,
"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,
"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,
"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,
"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" }
"Issuer": { "EmployerRegistration": "B5510768108" "FromEmployerRfc": "EKU9003173C9" }
"Issuer": { "EmployerRegistration": "B5510768108" "FromEmployerRfc": "EKU9003173C9" }
"Issuer": { "EmployerRegistration": "B5510768108" "FromEmployerRfc": "EKU9003173C9" }
"Issuer": { "EmployerRegistration": "B5510768108" "FromEmployerRfc": "EKU9003173C9" }
"Issuer": { "EmployerRegistration": "B5510768108" "FromEmployerRfc": "EKU9003173C9" }
En este nodo se debe expresar la información adicional del contribuyente emisor del comprobante fiscal (Empleador).
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
"Employee": { "Curp": "ROAJ850914837", "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", "FederalEntityKey": "SLP" }
En este nodo se debe expresar la información del contribuyente receptor (trabajador asalariado o asimilado a salarios) del comprobante.
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
"Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } }
En este nodo se pueden expresar las percepciones aplicables.
En este caso contiene 2 subnodos. ("Details", "Retirement")
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
{ "NameId": 1, "CurrencyExchangeRate": 1, "ExpeditionPlace": "78220", "Folio": 100, "CfdiType": "N", "PaymentForm": "99", "PaymentMethod": "PUE", "Receiver": { "Rfc": "ROAJ850914837", "Name": "ULISES CUEVAS PEREZ", "CfdiUse": "P01" }, "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, "Employee": { "Curp": "ROAJ110313HCMLNS07", "SocialSecurityNumber": "1234567890", "StartDateLaborRelations": "2019-01-15T13:43:59.3952019-06:00", "ContractType": "99", "RegimeType": "99", "Unionized": true, "TypeOfJourney": "01", "EmployeeNumber": "sup02", "Department": "Software and Deployments", "Position": "Developer", "PositionRisk": "99", "FrequencyPayment": "05", "Bank": "SANTANDER", "BankAccount": "1234567890", "FederalEntityKey": "SLP" }, "Perceptions": { "Details": [ { "PerceptionType": "039", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "TotalASinglePayment": 66761.08, "AccumulatedIncome": 0, "NonAccumulatedIncome": 0 } } } } }
{ "NameId": 1, "CurrencyExchangeRate": 1, "ExpeditionPlace": "78220", "Folio": 100, "CfdiType": "N", "PaymentForm": "99", "PaymentMethod": "PUE", "Receiver": { "Rfc": "ROAJ850914837", "Name": "ULISES CUEVAS PEREZ", "CfdiUse": "P01" }, "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, "Employee": { "Curp": "ROAJ110313HCMLNS07", "SocialSecurityNumber": "1234567890", "StartDateLaborRelations": "2019-01-15T13:43:59.3952019-06:00", "ContractType": "99", "RegimeType": "99", "Unionized": true, "TypeOfJourney": "01", "EmployeeNumber": "sup02", "Department": "Software and Deployments", "Position": "Developer", "PositionRisk": "99", "FrequencyPayment": "05", "Bank": "SANTANDER", "BankAccount": "1234567890", "FederalEntityKey": "SLP" }, "Perceptions": { "Details": [ { "PerceptionType": "044", "Code": "Jubilaciones", "Description": "Jubilaciones, pensiones o haberes de retiro en parcialidades", "TaxedAmount": 0, "ExemptAmount": 66761.08 } ], "Retirement": { "AccumulatedIncome": 0, "NonAccumulatedIncome": 0, "TotalParciality": 66761.08, "DailyAmount" : 0 } } } } }