AI-Elabora la busta paga n8n
AI-Stipendio di pagamento è un PDF4me AI azione in n8n che legge una busta paga o un cedolino e ne restituisce il contenuto in formato strutturato JSONUtilizzalo per estrarre da un documento la retribuzione lorda e netta, le ritenute fiscali, le ore lavorate, le detrazioni e i totali da inizio anno, senza che nessuno debba riscriverli.
Cosa fa questo nodo
In n8n questo appare come Risorsa: AI altro AI Operazioni: AI-Stipendio di pagamento. Forniscilo come dati binari, base64 o un URL e restituisce un payStubData oggetto che comprende guadagni, tasse, dettagli su dipendenti e datori di lavoro, ore, benefit e totali da inizio anno, insieme avvertimenti E fallbackUsato così potrai valutare quanto fidarti del risultato.
Autenticazione del tuo API Richiesta
Ogni PDF4me nodo in n8n richiede un valido Credenziali per connettersi con. Crea o selezionane uno che contenga il tuo PDF4me API chiave affinché il flusso di lavoro possa autenticarsi AI richieste di estrazione.
Informazioni importanti da non perdere
0 o una stringa vuota. Uno zero è quindi ambiguo, quindi non calcolare mai rispetto a uno senza controllare avvertimenti.AI-Stipendio di elaborazione vs AI- Analizzatore di documenti: quale dovrei usare?
Entrambi leggono un documento e restituiscono dati strutturati. La differenza sta nel fatto che lo schema viene definito in anticipo o meno.
| AI-Stipendio di pagamento | vs AI- Analizzatore di documenti | |
|---|---|---|
| Forma di output | Uno schema di elaborazione paghe fisso, le stesse chiavi a ogni esecuzione | Qualunque cosa tu definisca per tipo di documento |
| sforzo di configurazione | Scegli l'azione e vai | Descrivi i campi che desideri |
| Ideale per | Tasselli e buste paga in grandi quantità | Documenti senza azione dedicata |
| Campi relativi alla retribuzione | Già denominato e digitato | Scegli tu il nome. |
| Quale contro quale | Scegli se il documento è una busta paga | Scegli quando è qualsiasi altra cosa |
Se i tuoi documenti sono buste paga, questa azione è la via più breve: il vocabolario delle paghe è già incorporato. Raggiungi AI- Analizzatore di documenti quando il formato non ha un'azione specifica propria.
Come si configura il nodo?
Aggiungi il PDF4me nodo al tuo n8n flusso di lavoro, impostato Risorsa A AI, quindi scegli AI-Stipendio di pagamento da AI Operazioni. Per la configurazione iniziale, vedere il n8n Guida all'integrazione.
Prerequisiti: UN PDF4me API credenziale, un n8n flusso di lavoro e una busta paga come PDF, PNG, JPG, O JPEG.

Quali sono i parametri?
Il pannello è breve. La maggior parte del lavoro consiste nello scegliere una modalità di input e nel nominare correttamente il file.
| Parametro | Tipo | Necessario | Descrizione | Esempio |
|---|---|---|---|---|
| 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 Le tre modalità di input si escludono a vicenda Dati binari, Base64 String, E URL Ciascuno rivela il proprio campo sorgente e solo quello corrispondente alla modalità scelta necessita di un valore. I dati binari sono la scelta più comune quando il file è stato scaricato da un nodo precedente.
:::
Cosa restituisce il nodo?
La risposta racchiude tutto ciò che riguarda la retribuzione payStubData e conserva i metadati del lavoro insieme ad esso.
| Campo | Tipo | Descrizione | Esempio |
|---|---|---|---|
| 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 |
All'interno di payStubData
| Campo | Tipo | Gruppo | Descrizione | Esempio |
|---|---|---|---|---|
| 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 Risposta all'azione
- 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"
}
Il ramo si basa sui segnali di qualità piuttosto che su success, che si limita a segnalare che la chiamata è stata completata:
// 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;
IL grossPay > 0 la clausola è importante perché una cifra non letta viene restituita come 0, che senza di esso è indistinguibile da un vero zero.
Configurazioni tipiche
Consigli pratici
- Trattare il moncone estratto come un oggetto delicato fin dal momento in cui viene posizionato.
employeeIdSsnLe cifre relative allo stipendio e all'indirizzo di residenza arrivano insieme in un unico oggetto. Decidi quali di questi dati sono effettivamente necessari ai tuoi sistemi a valle ed elimina il resto prima di memorizzare qualsiasi informazione. - Non ramificare mai
successsolo. Il messaggio indica che la chiamata è andata a buon fine, non che la lettura è stata positiva.fallbackUsedEwarningssono i campi che ti dicono qualcosa sulla qualità. - Attenzione agli zeri ambigui. Perché i numeri non letti vengono restituiti come
0Una regola come "segnala le buste paga in cui la retribuzione netta supera quella lorda" ignora silenziosamente una busta paga il cui importo lordo non è mai stato letto. Verifica prima che la cifra sia superiore a zero. - Osservate le due chiavi relative alla data di pagamento.
payDateStrEPayDateEntrambe le forme compaiono nella risposta e la seconda è scritta con la lettera maiuscola. Scegline una e usala in modo coerente, poiché un'eventuale discrepanza è facile da non notare in una mappatura. - Utilizzare i campi personalizzati per le righe specifiche del datore di lavoro. Indennità, maggiorazioni per lavoro a turni e quote sindacali variano a seconda dell'organizzazione e sono proprio lo scopo di tale raccolta fondi.
- Forniscigli la copia più pulita disponibile. Un originale PDF oppure una scansione piana offre all'estrazione più elementi su cui lavorare rispetto a una foto scattata con un telefono da un'angolazione diversa.
Foglio riassuntivo
| Obiettivo | Impostazione o campo |
|---|---|
| Trova l'azione in n8n | Resource = AI, AI Operations = AI-Stipendio di pagamento |
| Utilizzare un file da un nodo precedente | Input Data Type = Dati binari, Input Binary Field = data |
| Elabora un documento ospitato | Input Data Type = URL, Poi Pay Stub URL |
| Assicurarsi che il formato venga rilevato correttamente | Document Name con l'estensione reale |
| Cattura una linea non standard | Aggiungi campo personalizzato sotto Custom Fields |
| Decidi se fidarti di una corsa | fallbackUsed altro warnings |
| Dati principali relativi alle retribuzioni | grossPay, netPay, ytdGrossPay |
Domande frequenti
Come viene effettivamente chiamata l'azione in n8n?
Nel nodo è AI-Stipendio di pagamento. Impostato Risorsa A AI, quindi scegli AI-Stipendio di pagamento dal AI Operazioni menu a tendina. Il word La dicitura "cedolino paga" compare nella documentazione. URL e nell'uso comune ma non nel n8n interfaccia stessa, quindi cerca "Busta paga" nel menu a tendina.
Come faccio a sapere se un'estrazione è affidabile?
Due campi trasportano quel segnale. Il warnings L'array elenca i problemi di qualità dei dati riscontrati durante l'estrazione e fallbackUsed indica se è stato necessario un metodo di estrazione secondario. Trattare qualsiasi risultato in cui fallbackUsed È true, o dove warnings Contiene più di una semplice nota di completamento, in quanto richiede una revisione umana prima che i dati vengano utilizzati per il pagamento degli stipendi o per una decisione di finanziamento.
Questa azione rende il mio processo di elaborazione delle buste paga conforme alla normativa?
No. Questa azione estrae dati da un documento. Una busta paga contiene le cifre salariali e spesso un identificativo del dipendente o parte del codice fiscale. Number, quindi l'estrazione colloca tali dati all'interno di qualsiasi obbligo di privacy e di registrazione del lavoro già applicabile a te. Tali obblighi sono proprietà dei tuoi sistemi e della tua giurisdizione, non di questo nodo, e il suo utilizzo non modifica la tua posizione in alcun modo. Se non sei sicuro di cosa si applichi, Linee guida del Dipartimento del Lavoro degli Stati Uniti sulla tenuta dei registri. è un punto di partenza ragionevole per i registri salariali.
Che fine fanno i campi non presenti nella busta paga?
Vengono restituiti come stringhe vuote o zeri anziché essere esclusi dalla risposta. 0 In socialSecurityTax O overtimeHours significa quindi o uno zero effettivo sul documento o un valore che non è stato possibile leggere. Controllare il corrispondente warnings È preferibile inserire il valore piuttosto che presumere che la cifra sia reale, soprattutto per qualsiasi campo rispetto al quale si intende effettuare un calcolo.
Posso estrarre i campi specifici relativi al mio datore di lavoro?
Sì. Il Campi personalizzati La raccolta nel nodo consente di aggiungere chiavi denominate oltre allo schema standard, ed è così che si acquisiscono elementi come l'indennità per turno, l'indennità regionale o la quota sindacale che compare solo sulle buste paga della propria organizzazione. Aggiungere una voce per ogni valore che si desidera recuperare.
Quali formati di file è in grado di leggere?
PDF, PNG, JPG, E JPEG. Impostato Nome reale al nome del file con la sua vera estensione, perché è quello che indica all'azione con quale formato sta lavorando. Una copia fotografata funziona, anche se una scansione piatta o un originale PDF offre all'estrazione più elementi su cui lavorare rispetto a una foto scattata con un telefono da un'angolazione diversa.
Imparentato AI Azioni in n8n
Stessa attività su altre piattaforme
Casi d'uso
Inserimento dati per l'elaborazione delle buste paga
Leggere le buste paga provenienti da un fornitore di servizi di elaborazione paghe o caricate dai dipendenti e inserire direttamente i dati in un sistema finanziario, riservando l'inserimento manuale alle eccezioni segnalate dai segnali di affidabilità.
Verifica del reddito e dell'occupazione
Per le verifiche relative a prestiti, contratti di locazione o benefit, è necessario estrarre la retribuzione lorda, la retribuzione netta, il nome del datore di lavoro e i totali da inizio anno, in modo che chi effettua la revisione possa lavorare con valori strutturati anziché dover leggere ogni singolo documento.
Riconciliazione e verifica delle buste paga
Confronta quanto riportato sulla ricevuta con quanto registrato dal sistema delle risorse umane o dalla contabilità, ed evidenzia solo le righe in cui i due valori non corrispondono.
Per approfondire
- Dipartimento del Lavoro degli Stati Uniti: tenuta dei registri ai sensi del FLSA definisce quali registri salariali i datori di lavoro sono tenuti a conservare.
- n8n: Lavorare con file e immagini Spiega come i file binari vengono trasferiti tra i nodi, ed è proprio a questo che si riferiscono i campi di input.