AI-Traitement du bulletin de paie n8n
AI-Traitement du bulletin de paie est un PDF4me AI action dans n8n qui lit un bulletin de paie et en renvoie le contenu structuré JSONUtilisez-le pour extraire d'un document le salaire brut et net, les retenues d'impôt, les heures travaillées, les déductions et les totaux cumulatifs depuis le début de l'année, sans que personne n'ait à les ressaisir.
Que fait ce nœud ?
Dans n8n cela apparaît comme Ressource : AI plus AI Opérations : AI-Traitement du bulletin de paieFournissez-lui un stub sous forme de données binaires, de base64 ou d'un URL et il renvoie un Données de bulletin de paie objet couvrant les revenus, les impôts, les détails des employés et des employeurs, les heures travaillées, les avantages sociaux et les totaux cumulatifs depuis le début de l'année, ainsi que avertissements et repli Utilisé Vous pouvez ainsi juger de la fiabilité du résultat.
Authentification de votre API Demande
Chaque PDF4me nœud dans n8n nécessite un numéro valide Identifiant pour se connecter avecCréez ou sélectionnez-en un qui contient votre PDF4me API clé permettant au flux de travail de s'authentifier AI demandes d'extraction.
Informations importantes à ne pas manquer
0 ou une chaîne vide. Un zéro est donc ambigu, il ne faut jamais effectuer de calcul par rapport à un sans vérifier. avertissements.AI-Traitement du bulletin de paie vs AI-Analyseur de documents : lequel dois-je utiliser ?
Les deux permettent de lire un document et de renvoyer des données structurées. La différence réside dans le fait que le schéma soit défini au préalable ou non.
| AI-Traitement du bulletin de paie | contre AI-Analyseur de documents | |
|---|---|---|
| Forme de sortie | Un schéma de paie fixe, les mêmes clés à chaque traitement | Quel que soit le type de document que vous définissez, |
| effort de mise en place | Choisissez l'action et lancez-vous ! | Vous décrivez les champs que vous souhaitez |
| Idéal pour | talons de paie et bulletins de salaire en volume | Documents sans action spécifique |
| champs de paie | Déjà nommé et saisi | Vous les nommez vous-même |
| Lequel contre lequel | Sélectionnez cette option si le document est un bulletin de paie. | Choisissez quand il n'y a rien d'autre |
Si vos documents sont des bulletins de paie, cette action est la plus rapide : le vocabulaire de la paie est déjà intégré. Utilisez… AI-Analyseur de documents lorsque le format ne possède pas d'action dédiée qui lui soit propre.
Comment configurer le nœud ?
Ajoutez le PDF4me nœud à votre n8n flux de travail, ensemble Ressource à AI, puis choisissez AI-Traitement du bulletin de paie depuis AI OpérationsPour la première configuration, consultez la section n8n Guide d'intégration.
Prérequis : un PDF4me API un diplôme, un n8n flux de travail et un bulletin de paie comme PDF, PNG, JPG, ou JPEG.

Quels sont les paramètres ?
Le panneau est court. L'essentiel du travail consiste à choisir un mode d'entrée et à nommer correctement le fichier.
| Paramètre | Taper | Requis | Description | Exemple |
|---|---|---|---|---|
| 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 |
Données binaires Base64 String, et URL Chacun révèle son propre champ source, et seul celui correspondant au mode choisi nécessite une valeur. Les données binaires sont généralement sélectionnées lorsqu'un nœud précédent a récupéré le fichier.
Que renvoie le nœud ?
La réponse englobe tout ce qui concerne la paie. payStubData et conserve les métadonnées de l'emploi en parallèle.
| Champ | Taper | Description | Exemple |
|---|---|---|---|
| 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 |
Données internes des bulletins de paie
| Champ | Taper | Groupe | Description | Exemple |
|---|---|---|---|---|
| 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 Réponse à l'action
- 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"
}
Branchez-vous sur les signaux de qualité plutôt que sur success, qui indique seulement que l'appel est terminé :
// 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;
Le grossPay > 0 Cette clause est importante car une figure non lue est renvoyée comme 0, qui est indiscernable d'un véritable zéro sans cela.
Configurations typiques
Conseils pratiques
- Considérez le moignon extrait comme une pièce fragile dès qu'il touche le sol.
employeeIdSsnLes données relatives au salaire et à l'adresse du domicile sont regroupées dans un seul fichier. Déterminez lesquelles sont réellement nécessaires à vos systèmes en aval et supprimez les autres avant tout stockage. - Ne jamais se brancher
successseul. Il indique que l'appel est terminé, et non que la lecture était bonne.fallbackUsedetwarningsCe sont les champs qui vous renseignent sur la qualité. - Attention aux zéros ambigus. Parce que les numéros non lus reviennent comme
0Une règle comme « signaler les bulletins de paie où le salaire net est supérieur au salaire brut » valide sans le signaler un bulletin dont le salaire brut n'a jamais été relevé. Vérifiez d'abord que le montant est positif ou nul. - Surveillez les deux clés de date de paiement.
payDateStretPayDateLes deux éléments apparaissent dans la réponse, le second étant en majuscule. Choisissez-en un et utilisez-le systématiquement, car une incohérence à ce niveau est facile à manquer dans une table de correspondance. - Utilisez les champs personnalisés pour les lignes spécifiques à l'employeur. Les indemnités, les primes de quart et les cotisations syndicales varient selon les organisations et constituent précisément la raison d'être de cette collecte.
- Fournissez-lui la copie la plus propre disponible. Un original PDF ou encore, un scan à plat offre plus de matière à l'extraction qu'une photo prise avec un téléphone en biais.
Aide-mémoire
| But | Paramètre ou champ |
|---|---|
| Trouvez l'action dans n8n | Resource = AI, AI Operations = AI-Traitement du bulletin de paie |
| Utiliser un fichier d'un nœud précédent | Input Data Type = Données binaires, Input Binary Field = data |
| Traiter un document hébergé | Input Data Type = URL, alors Pay Stub URL |
| Assurez-vous que le format détecté est correct. | Document Name avec l'extension réelle |
| Capturez une ligne non standard | Ajouter un champ personnalisé sous Custom Fields |
| Décidez si vous pouvez faire confiance à une course | fallbackUsed plus warnings |
| chiffres de base de la masse salariale | grossPay, netPay, ytdGrossPay |
Questions fréquentes
Comment appelle-t-on concrètement cette action ? n8n?
Dans le nœud, il est AI-Traitement du bulletin de paie. Ensemble Ressource à AI, puis choisissez AI-Traitement du bulletin de paie de la AI Opérations menu déroulant. Le word Le terme « bulletin de paie » apparaît dans la documentation. URL et dans l'usage courant, mais pas dans le n8n L'interface elle-même, recherchez donc « Bulletin de paie » dans le menu déroulant.
Comment savoir si une extraction est fiable ?
Deux champs véhiculent ce signal. warnings Les tableaux répertorient les problèmes de qualité des données rencontrés lors de l'extraction, et fallbackUsed indique si une méthode d'extraction secondaire était nécessaire. Traiter tout résultat pour lequel fallbackUsed est true, ou où warnings Contient plus qu'une simple note de fin de traitement, car elle nécessite une vérification humaine avant que les chiffres ne soient utilisés pour la paie ou une décision de prêt.
Cette action rend-elle mon processus de paie conforme ?
Non. Cette action extrait des données d'un document. Un bulletin de paie contient des informations sur le salaire et souvent un identifiant d'employé ou une partie du numéro de sécurité sociale. NumberL'extraction de ces données les soumet donc aux obligations de confidentialité et de gestion des dossiers professionnels qui vous sont déjà applicables. Ces obligations relèvent de vos systèmes et de votre juridiction, et non de ce nœud ; son utilisation ne modifie en rien votre situation. En cas de doute, consultez le site web de votre système. Directives du département du Travail des États-Unis sur la tenue des registres constitue un point de départ raisonnable pour les registres de salaires.
Que deviennent les champs qui ne figurent pas sur le bulletin de paie ?
Elles sont renvoyées sous forme de chaînes vides ou de zéros plutôt que d'être omises de la réponse. 0 dans socialSecurityTax ou overtimeHours Cela signifie donc soit un zéro réel sur le document, soit une valeur illisible. Vérifiez la valeur correspondante. warnings il est préférable de saisir la valeur plutôt que de supposer qu'elle est réelle, en particulier pour tout champ sur lequel vous prévoyez d'effectuer des calculs.
Puis-je extraire des champs spécifiques à mon employeur ?
Oui. Champs personnalisés La collection du nœud vous permet d'ajouter des clés nommées en plus du schéma standard, ce qui vous permet de saisir des éléments tels qu'une prime de quart, une indemnité régionale ou une cotisation syndicale qui n'apparaissent que dans les documents de votre organisation. Ajoutez une entrée par valeur que vous souhaitez récupérer.
Quels formats de fichiers peut-il lire ?
PDF, PNG, JPG, et JPEG. Ensemble Nom du document au nom de fichier avec son extension réelle, car c'est ce qui indique au programme le format à traiter. Une image de référence photographiée convient, tout comme une numérisation à plat ou un original PDF Cela donne à l'extraction plus de matière qu'une photo prise avec un téléphone en biais.
En rapport AI Actions dans n8n
Même tâche sur d'autres plateformes
Cas d'utilisation
Saisie des données de paie
Lisez les bulletins de paie provenant d'un prestataire de services de paie ou téléchargés par un employé et saisissez directement les chiffres dans un système financier, en évitant la saisie manuelle pour les exceptions signalées par les indicateurs de confiance.
vérification des revenus et de l'emploi
Extraire le salaire brut, le salaire net, le nom de l'employeur et les totaux cumulés depuis le début de l'année pour les chèques de prêts, de location ou de prestations sociales, afin qu'un examinateur travaille à partir de valeurs structurées au lieu de lire chaque document.
Rapprochement et audit de la paie
Comparez les informations figurant sur le ticket avec celles enregistrées par le système RH ou comptable, et ne faites apparaître que les lignes où les deux divergent.
Pour en savoir plus
- Département du Travail des États-Unis : tenue de registres en vertu de la loi FLSA définit les documents relatifs aux salaires que les employeurs sont tenus de conserver.
- n8n: Travailler avec des fichiers et des images explique comment les fichiers binaires se déplacent entre les nœuds, ce à quoi font référence les champs de saisie.