AI-Procesar recibo de pago en n8n
AI-Procesar recibo de nómina es un PDF4me AI acción en n8n que lee un recibo de pago o nómina y devuelve su contenido como estructurado JSONÚselo para extraer de un documento el salario bruto y neto, las retenciones fiscales, las horas trabajadas, las deducciones y los totales acumulados del año sin que nadie tenga que volver a escribirlos.
Lo que hace este nodo
En n8n Esto aparece como Recurso: AI más AI Operaciones: AI-Procesar recibo de nómina. Dale un fragmento como datos binarios, base64 o un URL y devuelve un Datos del recibo de pago objeto que abarca ganancias, impuestos, detalles de empleados y empleadores, horas, beneficios y totales acumulados del año, junto con advertencias y reserva usada para que puedas juzgar cuánto confiar en el resultado.
Autenticando su API Pedido
Cada PDF4me nodo en n8n requiere un válido Credencial para conectarse con. Crea o selecciona uno que contenga tu PDF4me API clave para que el flujo de trabajo pueda autenticarse AI solicitudes de extracción.
Datos importantes que no debes perderte
0 o una cadena vacía. Por lo tanto, un cero es ambiguo, así que nunca calcule con uno sin comprobarlo. advertencias.AI-Procesar recibo de pago vs AI-Analizador de documentos: ¿cuál debo usar?
Ambos leen un documento y devuelven datos estructurados. La diferencia radica en si el esquema se define de antemano.
| AI-Procesar recibo de nómina | vs AI-Analizador de documentos | |
|---|---|---|
| Forma de salida | Un esquema de nómina fijo, las mismas claves en cada ejecución. | Lo que sea que definas por tipo de documento. |
| Esfuerzo de configuración | Elige la acción y ¡adelante! | Describe los campos que deseas |
| Lo mejor para | Recibos y nóminas en grandes cantidades | Documentos sin acción específica |
| campos de nómina | Ya nombrado y escrito | Tú mismo les pones nombre. |
| ¿Cuál vs cuál? | Seleccione la opción cuando el documento sea un recibo de nómina. | Elegir cuando sea cualquier otra cosa |
Si sus documentos son recibos de pago, esta acción es el camino más corto: el vocabulario de nómina ya está incorporado. Busque AI-Analizador de documentos cuando el formato no tiene una acción dedicada propia.
¿Cómo configuro el nodo?
Añade el PDF4me nodo a su n8n flujo de trabajo, conjunto Recurso a AI, luego elige AI-Procesar recibo de nómina de AI OperacionesPara la configuración inicial, consulte el n8n Guía de integración.
Requisitos previos: a PDF4me API credencial, un n8n flujo de trabajo y un recibo de pago como PDF, PNG, JPG, o JPEG.

¿Cuáles son los parámetros?
El panel es corto. La mayor parte del trabajo consiste en elegir un modo de entrada y nombrar el archivo correctamente.
| Parámetro | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| Resource | Options | Required | Selects the family of operations. Set it to AI to reveal the AI Operations dropdown. | AI |
| AI Operations | Options | Required | The specific AI action to run. Listed in the node as AI-Process Pay Stub. | AI-Process Pay Stub |
| Input Data Type | Options | Required | How the document reaches the node: Binary Data, Base64 String, or URL. The matching source field appears beneath it. | Binary Data |
| Input Binary Field | String | Conditional | Name of the binary property holding the file. Shown when Input Data Type is Binary Data. | data |
| Base64 Pay Stub Content | String | Conditional | The document as a base64 string. Shown when Input Data Type is Base64 String. | JVBERi0xLjQKJ... |
| Pay Stub URL | String | Conditional | A publicly reachable link to the document. Shown when Input Data Type is URL. | https://example.com/paystub.pdf |
| Document Name | String | Optional | Filename with its real extension, which is what drives format detection. Ships with a default. | pay_stub.png |
| Custom Fields | Collection | Optional | An add-item collection, empty by default. Use Add Custom Field to request values outside the standard schema. | shiftDifferential |
:::nota Los tres modos de entrada son mutuamente excluyentes. Datos binarios, Base64 String, y URL Cada uno revela su propio campo de origen, y solo el que coincida con el modo elegido necesita un valor. Los datos binarios son la opción habitual cuando un nodo anterior obtuvo el archivo.
:::
¿Qué devuelve el nodo?
La respuesta engloba todo lo relacionado con la nómina. payStubData y conserva los metadatos del trabajo junto con ellos.
| Campo | Tipo | Descripción | Ejemplo |
|---|---|---|---|
| payStubData | Object | All extracted pay stub fields. Broken down in the table below. | { "grossPay": 1627.74, ... } |
| jobId | String | Identifier for the AI processing job, useful when investigating a specific run. | 00000000-0000-0000-0000-000000000000 |
| jobIdExt | String | External job identifier for third-party system integration, when applicable. | null |
| success | Boolean | Whether the extraction call completed. Note this reports the call, not the quality of the reading. | true |
| message | String | Status text, carrying error detail when something fails. | Pay stub data extracted successfully |
Dentro de payStubData
| Campo | Tipo | Grupo | Descripción | Ejemplo |
|---|---|---|---|---|
| warnings | Array | Quality signal | Data quality issues met during extraction. Read this before trusting any figure. | ["Vision AI processing completed successfully"] |
| fallbackUsed | Boolean | Quality signal | Whether a secondary extraction method was needed. True is a review trigger. | false |
| rawOcrText | String | Quality signal | Raw OCR text from the document, when available. | "" |
| grossPay | Number | Earnings | Gross pay before deductions. | 1627.74 |
| netPay | Number | Earnings | Net pay after all deductions. | 1040.23 |
| payPeriod | String | Earnings | Date range the stub covers. | 07/10/2017 - 07/23/2017 |
| payDateStr | String | Earnings | Pay date as printed on the stub. | 08/04/2017 |
| PayDate | String | Earnings | Pay date. Note the capitalised key, which differs from payDateStr. | 08/04/2017 |
| commissionBonus | Number | Earnings | Commission or bonus amount. | 0 |
| federalIncomeTax | Number | Tax | Federal income tax withheld this period. | 182.98 |
| stateIncomeTax | Number | Tax | State income tax withheld. | 61 |
| socialSecurityTax | Number | Tax | Social Security tax withheld. | 0 |
| medicareTax | Number | Tax | Medicare tax withheld. | 22.12 |
| localCityTax | Number | Tax | Local or city tax withheld. | 0 |
| employeeName | String | Employee | Name of the employee. | Franklin St |
| employeeIdSsn | String | Employee | Employee ID or Social Security Number. Treat as sensitive. | 000000000 |
| employeeAddress | String | Employee | Employee address as printed. | 123 Franklin St, Chapel Hill, NC 27517 |
| jobTitle | String | Employee | Job title or position. | Admin Support Specialist |
| companyName | String | Employer | Employer name. | University of North Carolina |
| employerAddress | String | Employer | Employer address. | 103 South Building, Chapel Hill, NC |
| employerEin | String | Employer | Employer Identification Number, empty when not printed. | "" |
| regularHours | Number | Hours | Regular hours worked in the period. | 74.5 |
| overtimeHours | Number | Hours | Overtime hours worked. | 0 |
| regularRate | Number | Hours | Regular hourly rate. | 20.346846 |
| overtimeRate | Number | Hours | Overtime hourly rate. | 0 |
| totalHours | Number | Hours | Total hours worked in the period. | 80 |
| healthInsurance | Number | Deductions | Health insurance deduction. | 0 |
| retirement401k | Number | Deductions | Retirement contribution deduction. | 97.66 |
| otherBenefits | Number | Deductions | Other benefit deductions. | 0 |
| garnishments | Number | Deductions | Amount withheld for garnishments. | 0 |
| ytdGrossPay | Number | Year to date | Year-to-date gross pay. | 28707.21 |
| ytdNetPay | Number | Year to date | Year-to-date net pay. | 18396.25 |
| ytdFederalTax | Number | Year to date | Year-to-date federal tax. | 3319.78 |
| ytdStateTax | Number | Year to date | Year-to-date state tax. | 1126 |
| checkNumber | String | Payment | Check number or payment reference. | Advice #0000000002214873 |
| directDepositInfo | String | Payment | Direct deposit details as printed, usually with a masked account. | Checking XXXXXXX0000 |
| vacationSickTime | String | Payment | Vacation and sick balance text. | Vacation End Balance: 213.66 |
N8N Respuesta a la acción
- JSON
- Confidence routing
{
"payStubData": {
"warnings": ["Vision AI processing completed successfully"],
"fallbackUsed": false,
"rawOcrText": "",
"grossPay": 1627.74,
"netPay": 1040.23,
"payPeriod": "07/10/2017 - 07/23/2017",
"payDateStr": "08/04/2017",
"federalIncomeTax": 182.98,
"stateIncomeTax": 61,
"socialSecurityTax": 0,
"medicareTax": 22.12,
"localCityTax": 0,
"employeeName": "Franklin St",
"employeeIdSsn": "000000000",
"jobTitle": "Admin Support Specialist",
"companyName": "The University of North Carolina at Chapel Hill",
"employerEin": "",
"regularHours": 74.5,
"overtimeHours": 0,
"regularRate": 20.346846,
"totalHours": 80,
"retirement401k": 97.66,
"garnishments": 0,
"ytdGrossPay": 28707.21,
"ytdNetPay": 18396.25,
"ytdFederalTax": 3319.78,
"ytdStateTax": 1126,
"checkNumber": "Advice #0000000002214873",
"commissionBonus": 0,
"PayDate": "08/04/2017"
},
"jobId": "00000000-0000-0000-0000-000000000000",
"jobIdExt": null,
"success": true,
"message": "Pay stub data extracted successfully"
}
Ramificar en función de las señales de calidad en lugar de en success, que solo informa que la llamada se completó:
// n8n IF node condition
const d = $json.payStubData;
const routine = d.warnings.length === 1
&& d.warnings[0].includes('completed successfully');
// true -> straight through to payroll
// false -> human review queue
return !d.fallbackUsed && routine && d.grossPay > 0;
El grossPay > 0 La cláusula importa porque una cifra no leída se devuelve como 0, que es indistinguible de un cero genuino sin él.
Configuraciones típicas
Consejos prácticos
- Trate el fragmento extraído como un elemento sensible desde el momento en que cae al suelo.
employeeIdSsnLos datos salariales y la dirección particular llegan juntos en un solo archivo. Decide cuáles de ellos necesitan realmente tus sistemas posteriores y descarta el resto antes de almacenar nada. - Nunca te ramifiques en
successsolo. Indica que la llamada se completó, no que la lectura fue correcta.fallbackUsedywarningsson los campos que te dicen sobre la calidad. - Evite los ceros ambiguos. Porque los números no leídos vuelven a ser
0Una regla como "marcar los recibos donde el salario neto supera el bruto" permite que un recibo pase sin previo aviso cuyo salario bruto nunca se leyó. Primero, verifique que la cifra sea mayor que cero. - Fíjate en las dos teclas de fecha de pago.
payDateStryPayDateAmbas aparecen en la respuesta y la segunda está escrita con mayúscula. Elija una y úsela de forma consistente, ya que una discrepancia en este caso puede pasar desapercibida en una correspondencia. - Utilice campos personalizados para las líneas específicas del empleador. Los complementos salariales, los pluses por turno y las cuotas sindicales varían según la organización, y esa recaudación existe precisamente para eso.
- Introdúzcale la copia más limpia disponible. Un original PDF o un escaneo plano proporciona a la extracción más información con la que trabajar que una foto tomada con el teléfono en ángulo.
Hoja de trucos
| Meta | Configuración o campo |
|---|---|
| Encuentra la acción en n8n | Resource = AI, AI Operations = AI-Procesar recibo de nómina |
| Utilice un archivo de un nodo anterior. | Input Data Type = Datos binarios, Input Binary Field = data |
| Procesar un documento alojado | Input Data Type = URL, entonces Pay Stub URL |
| Asegúrese de que el formato se detecte correctamente. | Document Name con la extensión real |
| Captura una línea no estándar | Agregar campo personalizado en Custom Fields |
| Decide si confiar en una carrera | fallbackUsed más warnings |
| Cifras básicas de nómina | grossPay, netPay, ytdGrossPay |
Preguntas frecuentes
¿Cómo se llama realmente la acción en n8n¿
En el nodo es AI-Procesar recibo de nómina. Colocar Recurso a AI, luego elige AI-Procesar recibo de nómina del AI Operaciones menú desplegable. El word "Recibo de pago" aparece en la documentación. URL y en uso común pero no en el n8n la propia interfaz, así que busque en el menú desplegable "Recibo de pago".
¿Cómo puedo saber si una extracción es fiable?
Dos campos portan esa señal. warnings La matriz enumera los problemas de calidad de datos con los que se encontró la extracción y fallbackUsed indica si se necesitó un método de extracción secundario. Trate cualquier resultado donde fallbackUsed es trueo donde warnings Contiene más que la nota de finalización rutinaria, ya que requiere una revisión humana antes de que las cifras lleguen a una decisión sobre nómina o préstamo.
¿Esta acción garantiza que mi proceso de nómina cumpla con la normativa?
No. Esta acción extrae datos de un documento. Un recibo de nómina contiene cifras salariales y, con frecuencia, un identificador de empleado o parte del número de la Seguridad Social. Number, por lo que extraerlo coloca esos datos dentro de las obligaciones de privacidad y registro de empleo que ya le sean aplicables. Esas obligaciones son propiedad de sus sistemas y jurisdicción, no de este nodo, y usarlo no cambia su posición en ningún sentido. Si no está seguro de lo que se aplica, el Guía del Departamento de Trabajo de EE. UU. sobre el mantenimiento de registros es un punto de partida razonable para los registros salariales.
¿Qué sucede con los campos que no aparecen en el recibo de nómina?
Regresan como cadenas vacías o ceros en lugar de quedar fuera de la respuesta. 0 en socialSecurityTax o overtimeHours Por lo tanto, significa que hay un cero real en el documento o un valor que no se pudo leer. Compruebe el correspondiente warnings Introduzca la cifra en lugar de asumir que es real, especialmente para cualquier campo con el que planee realizar cálculos.
¿Puedo extraer campos que sean específicos de mi empleador?
Sí. El Campos personalizados La colección en el nodo le permite agregar claves con nombre más allá del esquema estándar, que es como se registran elementos como un diferencial de turno, un subsidio regional o una cuota sindical que solo aparece en los registros de su organización. Agregue una entrada por cada valor que desee recuperar.
¿Qué formatos de archivo puede leer?
PDF, PNG, JPG, y JPEG. Colocar Nombre del documento al nombre del archivo con su extensión real, porque eso es lo que le indica a la acción con qué formato está trabajando. Una copia fotografiada funciona, aunque un escaneo plano o un original también. PDF Esto le da al proceso de extracción más material con el que trabajar que una foto tomada con el teléfono en ángulo.
Relacionado AI Acciones en n8n
La misma tarea en otras plataformas
Casos de uso
Entrada de datos de nómina
Lea los recibos de nómina que llegan de un proveedor de nóminas o que carga un empleado e introduzca las cifras directamente en un sistema financiero, evitando la introducción manual de datos para las excepciones que señalen los indicadores de confianza.
Verificación de ingresos y empleo
Extraiga el salario bruto, el salario neto, el nombre del empleador y los totales acumulados del año para los cheques de préstamos, arrendamientos o beneficios, de modo que el revisor trabaje con valores estructurados en lugar de leer cada documento.
Conciliación y auditoría de nóminas
Compare lo que dice el talón con lo que registró el sistema de recursos humanos o de contabilidad, y muestre solo las filas donde no coinciden.
Lecturas adicionales
- Departamento de Trabajo de los Estados Unidos: mantenimiento de registros según la FLSA Establece qué registros salariales se espera que mantengan los empleadores.
- n8n: Trabajar con archivos e imágenes Explica cómo se mueven los archivos binarios entre nodos, que es a lo que se refieren los campos de entrada.