EMPRESA:clave_empresa|password|rfc_emisor|numero_cliente (* con facturar.exe calve y password, no se deben llenar, se reemplazan con valores en parámetros) COMPROBANTE:version|serie|folio|fecha|99||neto_a_pagar al empleado|total deducciones|MXN|1|neto_a_pagar = total_percepciones - descuendo - isr_retenido|N|metodo_pago|cp_lugar_exp PDF:lugar_expedicion||fecha_pago|leyenda documento PDF (Sustituir leyenda "Factura" por "Recibo Honorarios" "Recibo Arrendamiento",etc. Ver codigos de claves 0 No, 1 Si) RESPUESTA:[XML o vacio] (Opcional, si se envía XML, solo se recibe XML timbrado, ver manual Integración) IMPRIMIR:NO (si se omite o valor diferente de NO es igual a "SI"), evita que salga opción para imprimir factura al desplegarla en el navegador IE:NO (Solo funciona con facturar.exe, le indica a facturar.exe que no despliegue el navegador de IE en la computadora del usuario, que lo mantenga oculto) IMP_DIRECTO:SI (Solo funciona con facturar.exe, indica que debe usarse Internet Explorer para imprimir directo a la impresora default) RECEPTOR:rfc_cliente|nombre cliente|residencia_fiscal|num_reg_tributario|clave_usocfdi|email_cliente RECEPTOR_DIRECCION:calle|numero|numero interno|colonia|cp|municipio|ciudad|estado|pais (No debe ir codificado, es para imprmir en el PDF tal y como lo envíen) LINEA:84111505||1|ACT||Pago de nómina|total_perepciones+total_otros_pagos|total_perepciones+total_otros_pagos|total_deducciones CURP_EMISOR:Curp del emisor # (obligatorio si el emisor es persona física) ENTIDAD_SNCF:origen_recurso|monto_propio SNCF:clave_origen_ingresos|monto_propio EMPLEADO:registro_patronal|num_empleado|curp_empleado|tipo_regimen|num_seguridad_social|cotiza|clave_estado_donde_labora|sindicalizado ++ EMP_FECHAS:fecha_pago|fecha_inicial_pago|fecha_final_pago|num_dias_pagados|fecha_inicio_laboral|antiguedad|dias_trabajados!!|horas_trabajadas!!|horasxpersona!! ++ EMP_INFO:departamento|CLABE|banco|puesto|tipo_contrato|tipo_jornada|periodicidad_pago|riesgo_puesto ++ EMP_SALARIO:salario_base_cot_apor|salario_diario_integrado PERCEPCION:tipo_percepcion*|clave contable|concepto|importe_gravado|importe_excento ++ # se repiten tantos renglones de percepciones como sean necesarios PAGO_ACCIONES:valor_mercado|precio_alotorgarse ++ # (debe ir justo debajo de la percepción a la que corresponde, solo 1 nodo por PERCEPCION) .. HORASEXTRA:dias|tipo_horas|horas_extra|importe_pagado # se repiten tantos renglones de horas extra como sean necesarios # (deben todos juntos debajo de la percepción a la que corresponde para relacionar al renglón) # SUMATORIA(HORASEXTRAS.importe_pagado)= gravado+exento del renglón al que pertenece TOTAL_PERCEPCIONES:percepcion_total_gravado|percepcion_total_excento|total_sueldos|total_separacionindemnizacion|totaljubilacionpension ++ JUBILACION_PENSION:total_una_exhibicion|total_parcialidad|monto_diario|ingreso_gravado|ingreso_exento # (Solo puede haber 1 registro, no va relacionado a renglones de percepciones) # (Deje vacios los campos que no aplican = ||) SEPRARACION_INDEMIZACION:total_pagado|num_años|ultimo_sueldo|ingreso_acumulable|ingreso_no_acumulable # (Solo puede haber 1 registro) DEDUCCION:tipo_deduccion*|clave contable|concepto|importe_gravado|importe_exento!! # se repiten tantos renglones de deducciones como sean necesarios TOTAL_DEDUCCIONES:deduccion_total_gravado|deduccion_total_excento|total_otras_deducciones|total_impuestos_retenidos ++ OTRO_PAGO:clave_otro_pago|clave_contable|concepto|importe ++ SUBSIDIO_EMPLEO:subsidio_causado # (debe ir justo debajo del otro pago a la que corresponde, un solo nodo) COMPENSACION:saldo_a_favor|año|remanente # (remanente anterior - OTRO_PAGO:importe) (debe ir justo debajo del otro pago a la que corresponde) INCAPACIDAD:dias_incapacidad|tipo_incapacidad*|importe # se repiten tantos renglones de incapacidad como sean necesarios # No va relacionzada con los renglones # La regla se publicó mal queda así : SUMATORIA(percepciones 014 + deducciones 006) == SUMATORIA(importes de INCAPACIDAD) TOTALES_NOMINA:tipo_nomina(O,E)|total_percepciones|total_deducciones|total_otros_pagos SUBCONTRATACION:rfc_labora|porcentaje_tiempo # se repiten tantos renglones como se necesiten reportar # suma de porcentajes de todos los renglones debe dar 100 exácto (ver reglas 1.2) LEYENDA_LEGAL: Texto con la leyenda legal del recibo (mantener por debajo de los 900 caracteres) FIN_LEYENDA_LEGAL: FIN: --------------------------------------------------------------------------------------------------------------- Comentarios nómina 1.2 # Comentarios referentes a la línea actual o anterior anterior, "no" son parte del layout. !! Estos datos se ignoran y pueden ir vacios, pero la línea se requiere para el resto de los datos de nómina >= 1.2 (No enviar los !!) Los valores se dejaron para que se cambie lo menos posible lo que ya está programado de ambos lados y así generar menos errores en la migración ++ Ver reglas aplicables a estos campos en nómina >= 1.2, la mayoría son códigos "no" leyendas libres como antes (No enviar los ++) * Revisar catálgos del SAT, debe ir la clave correspondiente al catálogo IMPORTANTE! Si algún renglón no aplica no lo incluya Diferencia entre valor = 0 y vacio es importante para aplicar reglas correctamente. Valor = 0 . Significa reportar esa información con un "0" Valor = vacio . Significa "no" reportar esa información, quitar el nodo o valor del nodo Por ejemplo : JUBILACION_PENSION:100|||100|0 (es correcto, no reportar 2do y 3er valores y el último con cero) JUBILACION_PENSION:100|0|0|100|0 (es incorrecto, la regla dice que si vamos a reportar el 1er valor, no se deben reportar el 2o o 3o) No puedo distinguir de otra forma cuando realmente quieren reportar o no reportar si envían un 0 Valores fijos El layout está basado en el layout estandar para facturación, así que en este layout se han sustituido los valores fijos que el SAT Solicita reportar para un CFDI de nómina. Pero el sistema "NO" susitituye o impone que estos valores, por lo tanto los debe enviar usted en su layout. En otras palabras este es el Layout sugerido, pero puede enviar los valores que desee, si son válidos.