- Home
- Resources
- Integrations
- PerfectParser
PerfectParser Zapier integrationAutomate PerfectParser with Zapier.
The PerfectParser Zapier integration gives you 1 trigger, 1 action and 0 searches. One action hands a document over for extraction, one instant trigger brings the extracted data back once processing ends. Two Zaps, and invoices stop being retyped by hand.
Beta app Zapier still marks this integration as beta.
Verified Trustpilot reviews · AI, automation & growth agency
How the PerfectParser Zapier integration works
PerfectParser reads invoices, receipts and PDFs and turns them into structured data you can actually use. On Zapier, the app is listed in beta and works in two halves: Import Document sends a file to a parser, and Document Processed fires when that parser is done. They live in two separate Zaps, by design.
Three results people usually build. Supplier invoices that file themselves: an attachment arriving by email goes to PerfectParser through Import Document, and when processing ends, Document Processed writes every line item into a spreadsheet. Expense receipts out of shoeboxes: photos dropped in a shared folder are sent for extraction, and the figures land in your bookkeeping sheet. A failure alert nobody has to watch for: a second Zap on Document Processed keeps only the documents that did not go through and warns someone in chat.
What Zapier does not do here matters too. Import Document returns straight away, without the extracted data, so the same Zap cannot read the result: the data comes back through Document Processed, in a second Zap. There is no search step, so a Zap cannot look up a document processed earlier. And creating or editing parsers is not offered from Zapier; that setup stays in PerfectParser.
Both halves can each be a two-step Zap, which the free plan allows. For a wider view of Zapier itself, see the Zapier review.
Zapier vocabulary in one minute
Eight words carry this page. Here they are without jargon.
- Zap
- The automation you build on Zapier: one trigger, then one or more actions that run every time the trigger event happens.
- Trigger
- The event that starts a Zap. PerfectParser has one: a document finished processing, successfully or not.
- Action
- What the Zap does once started: the step that writes, sends or moves something. Here, sending a document for extraction.
- Task
- The unit Zapier bills: one action your Zap completes successfully. Your plan is a monthly count of those.
- Instant trigger
- A trigger the app reports itself, the moment the event happens. Document Processed is one, so no timer is involved.
- Polling trigger
- A trigger Zapier checks on a timer, keeping only what is new. It matters here only for the app that sends documents in.
- Filter
- A step that lets the Zap go on only when what arrived meets your condition, for example a status set to completed.
- Multi-step Zap
- Any Zap beyond one trigger and one action. A second action or a filter makes a Zap multi-step, and that needs a paid plan.
What a PerfectParser setup really costs
PerfectParser is not reserved for paid plans: it works from the free plan.
- Document ProcessedFree, never counted, instant
- Import Document1 task per document sent
- Line items via Create Spreadsheet Row(s)1 task per document
- Free plan100 tasks a month, two-step Zaps
Triggers never cost a task. Each action that succeeds counts one task, and a failed one is not counted. Sending a document with Import Document is one task. On the way back, writing the line items with the plural Create Spreadsheet Row(s) action costs one task per document, however many lines it holds. The free plan gives 100 tasks a month and two-step Zaps only, so both halves fit; adding a filter to skip failed documents makes that Zap multi-step and needs a paid plan.
Connect your PerfectParser account
- 01
Open the Apps page
In your Zapier account, go to Apps and click + Add connection. You need an existing PerfectParser account, because Zapier links accounts and never creates them.
- 02
Pick PerfectParser
Type PerfectParser in the dialog, select it, then click Add connection. Zapier opens a new tab so you sign in on the PerfectParser side rather than inside Zapier.
- 03
Sign in and grant access
Log in to PerfectParser in that tab and give Zapier access. From then on, every Zap that uses PerfectParser reuses this connection, and it works with the parsers and documents your account can reach.
Your first Zap: write every invoice line into a sheet
GoalWhen PerfectParser finishes a document, keep only the completed ones and write one spreadsheet row per line item.
- 01
Set the trigger
Create a Zap, choose PerfectParser and Document Processed, then your connection. Test it: Zapier brings back the three most recent documents of your account to build on.
- 02
Skip failed documents
Add a Filter step, set it on the status, pick a text rule and compare with completed. This filter makes the Zap multi-step, so it needs a paid plan.
- 03
Choose the plural action
Add Google Sheets with Create Spreadsheet Row(s), the plural action, so that every line item of the document gets its own row for one single task.
- 04
Map all the rows
In each column, map the Line Items entry marked all rows. The entry ending in 0 holds only the first line, which is the classic reason a sheet shows one line per invoice.
- 05
Test and publish
Test the step, check the rows it wrote, then click Publish. The trigger is instant, so each finished document runs the Zap straight away.
The PerfectParser trigger
1 event starts a Zap when something happens in PerfectParser, and one of them is instant: the app calls Zapier straight away, whatever your plan.
Document Processed
Instant triggerIn Zapier“Triggers when PerfectParser finishes processing a document — whether completed or failed. Map "Line Items → … (all rows)" to write every line item — not "Line Items 0", which is only the first row. To write one row per line item in Google Sheets, use the "Create Spreadsheet Row(s)" action (plural, under the Spreadsheet Rows section) — one document uses one Zapier task regardless of how many line items it has. Add a Filter step (status = "completed") to skip failed documents, or use Paths to also send a failure alert by email or Slack.”
Fires when PerfectParser is done with a document, and it fires on both outcomes: a completed extraction and a failed one. It carries the extracted data, line items included, so it is the half of the integration where the actual work gets written somewhere useful.
The PerfectParser action
PerfectParser gives you 1 action. For each one: what it does for you, when to reach for it, and what to watch out for.
Operations index
Import Document
ActionIn Zapier“Send a document to PerfectParser for extraction. Returns immediately — pair with the "Document Processed" trigger in a second Zap to receive the extracted data when processing finishes.”
Hands a file, a PDF, an image or another supported document, to one of your PerfectParser parsers for extraction. It returns at once, before the extraction is done.
When it breaks
Zapier attaches no help article to PerfectParser, so these cases come from the app's own descriptions on Zapier and from how Zapier behaves with every app.
Most PerfectParser surprises come from the two-Zap design and from line items, not from the connection. Six cases cover nearly everything. For anything beyond them, the Zapier troubleshooting page is the next stop.
Only the first line item shows up
The Line Items entry ending in 0 is the first row only. Map the entry marked all rows, with the plural Create Spreadsheet Row(s) action, to get every line.Empty rows from failed documents
Document Processed fires on failures as well as on completed extractions. Without a filter on a completed status, failed documents write half-empty rows.The extracted data is not in the same Zap
Import Document returns straight away, before extraction ends. The data arrives through Document Processed, so the writing has to happen in a second Zap.Your parser is missing from the list
The Parser field of Import Document shows up to 100 parsers. Beyond that, the one you need may not appear, so keep names clear and the list tidy.Old documents never come through
A Zap only reacts to what happens after it is switched on. Documents processed before publication stay out, and moving them is a separate job.A big batch gets held back
Sending a large pile of documents at once can make the trigger return a huge batch, which Zapier's flood protection can hold back.
Need help automating PerfectParser with Zapier?
A person reads every message.



