Inicio  |  Emisión  |  Conector-txt v6.0 / CFDI 4.0  |  Conector nómina 1.2
La LCO fue actualizada por última vez el 28/mar/2025

Complemento-txt Nómina v1.2 (Payroll)

This new complement must be incorporated to Solución Factible®'s txt-connector (Conector-txt v6.0) in its identifier: "Complemento".

Check out the documentation for the new connector (v6.0) here.

Complement's definition

Same as the connector file (Conector-txt v6.0) the payroll complement is divided in lines, each line representing a group of data regarding the complement.

The complement contains identifiers at the beginning of each line indicating the type of business data included in every section, the sections' order is sequential downwards and is based in the order of data the SAT has specified in its XSD technical definition, nevertheless it can be adjusted according to your needs.

The fields belonging to each section (identifier) are separated by the character "pipe" (|, ASCII 124) and are extracted in that order, made to measure to your needs.

You can use any of the line break (EOL or newline), it can be any of the ones handled in most current systems: CR, LF or CR+LF.

Complemento|nomina|1.2|O|2017-07-15|2017-07-01|2017-07-15|15|5500|890|200|
EmisorNomina||B5510768108||
EmpleadoNomina|KAHO641101HNTLKS06|04078464789|01-01-2011|P10Y8M15D|01||01|02|0013|Sistemas|Programador|1|04|002|254136985458564558|490.22|146.47|JAL|
TotalPercepcionesNomina|5500|.......|







The complement contains the payroll's invoice data starting each line with its "identifier" marked in bold in the above example.

Identifiers and fields

Each identifier represents the start of a section that contains an specific number of fields. The different identifiers and their fields are shown next.

Some identifiers and their fields can repeat across lines within the file since business data might call for it. For instance multiple "PercepcionNomina" identifiers might exists to accommodate a complement that contains many payments.

  • Complemento|nomina|Version|TipoNomina|FechaPago|FechaInicialPago|FechaFinalPago|NumDiasPagados|TotalPercepciones|
    TotalDeducciones|TotalOtrosPagos|
  • EmisorNomina|CURP|Registropatronal|RfcPatronOrigen|
  • EntidadSNCFNomina|OrigenRecurso|MontoRecursoPropio|
  • EmpleadoNomina|CURP|NumSeguridadSocial|FechaInicioRelLaboral|Antiguedad|TipoContrato|Sindicalizado|TipoJornada|
    TipoRegimen|NumEmpleado|Departamento|Puesto|RiesgoPuesto|PeriocidadPago|Banco|CuentaBancaria|
    SalarioBaseCotApor|SalarioDiarioIntegrado|ClaveEntFed|
  • SubContratacionNomina|RfcLabora|PorcentajeTiempo|
  • TotalPercepcionesNomina|TotalSueldos|TotalSeparacionIndemnizacion|TotalJubilacionPencionRetiro|TotalGravado|TotalExento|
  • PercepcionNomina|TipoPercepcion|Clave|Concepto|ImporteGravado|ImporteExento|
    • AccionesOTitulosNomina|ValorMercado|PrecioAlOtorgarse|
    • HorasExtraNomina|Dias|TipoHoras|HorasExtra|ImportePagado|
    • CamposDinamicosPercepcionNomina|CAMPO_1|....|
  • JubilacionPensionRetiroNomina|TotalUnaExhibicion|TotalParcialidad|MontoDiario|IngresoAcumulable|IngresoNoAcumulable|
  • SeparacionIndemnizacionNomina|TotalPagado|NumAñosServicio|UltimoSueldoMensOrd|IngresoAcumulable|IngresoNoAcumulable|
  • TotalDeduccionesNomina|TotalOtrasDeducciones|TotalImpuestosRetenidos|
  • DeduccionNomina|TipoDeduccion|Clave|Concepto|Importe|
    • CamposDinamicosDeduccionNomina|CAMPO_1|....|
  • OtroPagoNomina|TipoOtroPago|Clave|Concepto|Importe|
    • SubsidioAlEmpleoNomina|SubsidioCausado|
    • CompensacionSaldosAFavorNomina|SaldoAFavor|Año|RemanenteSalFav|
  • IncapacidadNomina|DiasIncapacidad|TipoIncapacidad|ImporteMonetario|

External links

SAT's documentation link

Examples

Simple CFDI

Download

SFERP|6.0|
Comprobante|1|A|true|||
Generales|10102024 16:30:00|Pago en una sola exhibicion||NA||Regimen general||notas|45070|
Divisa|Peso Mexicano|MXN|1|
Receptor|OSCAR KALA HAAK|KAHO641101B39|KAHO641101HNTLKS06|empresa@dominioempresa.com.mx||||
DireccionFiscal|Mexico|Nayarit|Tepic|Tepic|Hidalgo|238|1|Sauze|28750|
Concepto||Pago de nómina|ACT|1|6390||6390||||
Totales|6390|||890|5500|
Complemento|nomina|1.2|O|15-09-2024|01-09-2024|15-09-2024|15|5300|890|200|
EmisorNomina||B5510768108||
EmpleadoNomina|KAHO641101HNTLKS06|04078464789|01-01-2021|P10Y8M15D|01||01|02|0013|Sistemas|Programador|1|04|002||490.22|146.47||JAL|
TotalPercepcionesNomina|5300|||5100|200.00|
PercepcionNomina|001|123|Sueldos Salarios Rayas y Jornales|5100|200|
TotalDeduccionesNomina|290|600|
DeduccionNomina|001|676|Seguridad social|290|
DeduccionNomina|002|582|ISR|600|
OtroPagoNomina|008|584|Viaticos|200|

Data dictionary

Complemento Nómina 1.2 (Payroll)


Complement to be incorporated to the CFDI for the payroll information.
TypeFieldsDescription
"Complemento" fieldsMandatory id
RNombreName required for the complement. Fixed value:"nomina".
RVersionVersion of this complement.
RTipoNominaType of payroll, can be: O= Nómina ordinaria or E= Nómina extraordinaria.
RFechaPago Payment date with format: dd-MM-yyyy, in compliance with ISO 8601.
RFechaInicialPagoFirst payment date with format: dd-MM-yyyy, in compliance with ISO 8601.
RFechaFinalPagoLast payment date with format: dd-MM-yyyy, in compliance with ISO 8601.
RNumDiasPagados Number of days paid.
CTotalPercepciones Total earnings.
CTotalDeduccionesConditional field to represent the sum of applicable payroll deductions.
CTotalOtrosPagosTotal of additional earning.
"EmisorNomina" fieldsMandatory id
CCURPPayroll issuing entity's CURP if applies.
CRegistroPatronalEmployer registration number (max. number of characters: 20).
ORfcPatronOrigenEmployer RFC when payment was performed through a third party.
"EntidadSNCFNomina" fieldsConditional id. Required for entities adhered to the "Sistema Nacional de Coordinación Fiscal".
ROrigenRecursoRequired for identifying the resources of payment origin.
CMontoRecursoPropioPayment for the resources for employee's payment.
"EmpleadoNomina" fieldsMandatory id.
RCURPPayroll recipient's CURP.
CNumSeguridadSocialEmployee's Social security number.
CFechaInicioRelLaboralBeginning of working relationship's date with format: dd-MM-yyyy, in compliance with ISO 8601.
CAntigüedad Job seniority Ex. P10Y8M15D (10 years, 8 months, 15 days).
RTipoContratoType of contract.
OSindicalizado If employee is unionized (if omitted the employee is assumed to not being unionized).
CTipoJornadaType of working hours.
RTipoRegimen Employee's regime.
RNumEmpleado Employee's number (max. number of digits: 15).
ODepartamento Employee's section or area.
OPuesto Employee's position.
ORiesgoPuesto

Occupational risk (1,2,3,4 or 5).

RPeriodicidadPagoPayment frequency.
CBanco Employee's bank id Ex. 110=JP Morgan, 044=Scotiabank.
CCuentaBancariaBank account or credit/debit card number, etc.
OSalarioBaseCotApor Employee's remuneration if any.
OSalarioDiarioIntegrado

Employee's daily rate.

RClaveEntFed Mexico's state id where employee labors.
"SubContratacionNomina" fieldsConditional id.
RRfcLabora RFC of entity who outsources or subcontracts employees.
RPorcentajeTiempo

Time in percentage that the employee worked in a company. Ex. If an employee worked at business A 40% of the time and business B 60% of the time, then:
TimePercentage=40%
TimePercentage=60%
The percentages must add up to 100%.

"TotalPercepcionesNomina" fieldsConditional id. Mandatory if identifier:"PercepcionNomina" exists.
CTotalSueldosTotal of wages.
CTotalSeparacionIndemnizacion

Total compensation due to employee separation.

CTotalJubilacionPensionRetiro

Total income from retirements and pensions.

RTotalGravado

Total taxable earnings.

RTotalExento Total of tax free earnings.
"PercepcionNomina" fieldsConditional id.
RTipoPercepcion Type of earning's id Ex.001=wage, salary, etc, or 010=punctuality bonus.
RClave The id of the earnings recorded in the accounting records of the business (minimum number of digits: 3, max number of digits:15).
RConcepto Earning description
RImporteGravado Taxed amount of the earning.
RImporteExento Tax free amount of the earning.
"AccionesOTitulosNomina" fields Conditional id. Required for earning derived from the acquisition of shares or titles
RValorMercadoMarket value of the share or title.
RPrecioAlOtorgarseEstablished price for the share or title.
"HorasExtraNomina" fieldsOptional id.
RDiasNumber of days in which the employee labored extra hours.
RTipoHorasType of payment for the extra hours. (01=double, 02=triple or 03=simple payment)
RHorasExtra

Number of overtime hours worked.

RImportePagado

Total earnings from overtime.

"JubilacionPensionRetiroNomina" fieldsOptional id.
CTotalUnaExhibicion

 Conditional field that indicates the total amount of the payment when made in a single payment. If specified the fields "MontoDiario" and "TotalParcialidad" should not be used.

CTotalParcialidad Earning amount payed in installments. If specified the field "MontoDiario" must be specified and the field "TotalUnaExhibicion" must not.
CMontoDiario Daily earning by pensions or retirement performed in installments.
RIngresoAcumulable Taxable earning amount.
RIngresoNoAcumulable Non-taxable earning amount.
"SeparacionIndemnizacionNomina" fieldsOptional id.
RTotalPagado

Total earnings paid for separation compensation.

RNumAñosServicio

Number of years worked. If the employee works less than 6 months the value will be "0". If the employee worked more than 6 months regardless of the years, it is taken as a full year. For example (2 years and 7 months = 3 years).

RUltimoSueldoMensOrdLast regular monthly salary.
RIngresoAcumulable Taxable earning amount.
RIngresoNoAcumulable Non-taxable earning amount.
"TotalDeduccionesNomina" fieldsConditional id.
CTotalOtrasDeducciones Total of payroll deductions where the payroll deduction's id is different to "002", if any.
CTotalImpuestosRetenidos Total of payroll deductions where the payroll deduction's id is "002", if present.
"DeduccionNomina" fieldsOptional id.
RTipoDeduccion Payroll deduction's id. Ex. 001 (social security), 019 (union fee), etc
RClave The id of the payroll deduction recorded in the accounting records of the business (min number of digits: 3, max number of digits:15).
RConcepto Description of the payroll deduction.
RImporte Amount of the payroll deduction.
"OtroPagoNomina" fields Optional id.
RTipoOtroPago "Other earning"'s id when different to (001, 002, 003, and 004). Value=999
RClave The id of the "other earning" recorded in the accounting records of the business (min number of digits: 3, max number of digits:15).
RConcepto "Other earning" description.
RImporte Amount for the "other earning".
"SubsidioAlEmpleoNomina" fieldsMandatory id.
RSubsidioCausado Employee's subsidy in compliance to the subsidy table published by the SAT here.
"CompensacionSaldosAFavorNomina" fieldsOptional id.
RSaldoAFavor Earning for credit balance for the current working period (year).
RAñoPast work period's year for entitled credit balance.
RRemanenteSalFav

Remaining balance amount from previous work periods.

"IncapacidadNomina" fieldsOptional id.
RDiasIncapacidad Number of days the employee was absent due to disability.
RTipoIncapacidad

Disability's id Ex. 03 (Maternity leave). 

RImporteMonetario disability's earning amount.
  • R= Required
  • C= Conditional
  • O= Optional
Datos de contacto
comments powered by Disqus