Automated Accounts Payable: PDFelement OCR to QuickBooks Online (Make.com)
Streamline invoice processing by extracting PDF data and syncing records directly to QuickBooks using Make.com.
Tools: PDFelement → QuickBooks
Platform: Make.com
Short Answer
A fully automated workflow where finalized PDFs in a monitored folder are parsed for financial data via OCR and automatically converted into Bill or Expense records in QuickBooks, including the original file as an attachment.
The Problem
Manual data entry of paper or PDF invoices into QuickBooks is time-consuming and prone to human error. Businesses often struggle to bridge the gap between desktop-based PDF processing and cloud-based accounting ledgers.
The Outcome
A fully automated workflow where finalized PDFs in a monitored folder are parsed for financial data via OCR and automatically converted into Bill or Expense records in QuickBooks, including the original file as an attachment.
Step-by-Step Guide
1. **Trigger Module**: Add the 'Google Drive - Watch Files' (or OneDrive) module. Since PDFelement desktop saves locally, set up a watch on the folder where you save finalized PDFs. Set 'Limit' to 5 to avoid overwhelming the scenario.
2. **PDFelement Processing**: Use the 'Wondershare PDFelement' module (or a generic 'OCR/AI' module if using PDFelement’s Cloud API). Select the action 'Extract Form Data' or 'Perform OCR'. Map the `File Buffer` from the Trigger.
3. **Search for Vendor**: Add the 'QuickBooks Online - Search for Vendors' module. Use the extracted 'Vendor Name' from PDFelement. Wrap the search term in the `lower()` function to ensure case-insensitive matching.
4. **Router for Logic**: Add a 'Router'.
- Path A (Filter): If 'Total number of bundles' equals 0, add 'QuickBooks Online - Create a Vendor'.
- Path B (Filter): If 'Total number of bundles' is greater than 0, proceed to Create Bill.
5. **Create Bill**: Add 'QuickBooks Online - Create a Bill'. Map the extracted `Total Amount`, `Due Date`, and `Vendor ID`. Use the `parseDate()` function to convert PDF date strings into ISO format for QuickBooks.
6. **Upload Attachment**: Add 'QuickBooks Online - Create an Attachable'. Map the 'Bill ID' from Step 5 and the `File Content` from Step 1. This ensures the digital audit trail is maintained.
7. **Error Handling**: Right-click the QuickBooks modules and select 'Add Error Handler'. Use a 'Commit' or 'Rollback' directive depending on your preference, or an email module to notify the admin if a tax mismatch occurs.
8. **Scheduling**: Set the Scenario schedule to 'Every 15 minutes' or 'On demand' to control operation consumption.
Data Mapping
| Source: PDFelement (OCR/AI) | Transformation (Make.com Syntax) | Destination: QuickBooks Online |
| :--- | :--- | :--- |
| Extracted Vendor Name | `{{trim(1.vendor_name)}}` | Vendor: DisplayName |
| Invoice Total | `{{parseNumber(1.total_amount)}}` | Bill: Total Amount (Required) |
| Invoice Date | `{{parseDate(1.date; "MM/DD/YYYY")}}` | Bill: TxnDate |
| Due Date | `{{parseDate(1.due_date; "MM/DD/YYYY")}}` | Bill: DueDate |
| Raw PDF Content | `{{1.data}}` | Attachable: File Content |
| Summary/Notes | `{{substring(1.ai_summary; 0; 4000)}}` | Bill: PrivateNote |
Gotchas & Failure Modes
• **Date Format Mismatch**: PDFelement may extract dates as 'Oct 12, 2023'. QuickBooks requires 'YYYY-MM-DD'. Always use the `parseDate()` and `formatDate()` functions in tandem.
• **Operation Quotas**: Processing high volumes through 'Watch Files' can consume many operations. Use 'Filters' immediately after the trigger to ignore non-invoice files (e.g., .txt or .png).
• **Decimal Accuracy**: Ensure extraction handles currency symbols ($). Use `{{replace(1.field; "$"; "")}}` before mapping to 'Amount' fields in QuickBooks, as QuickBooks expects a Clean Number.
• **The 'Sleep' Module Requirement**: Sometimes QuickBooks takes seconds to index a new Vendor. If 'Create Vendor' is followed instantly by 'Create Bill', use a 'Tools - Sleep' module (set to 2 seconds) to prevent 'Object Not Found' errors.
Verification Checklist
- [ ] Use the 'Run Once' button and manually upload a PDF to the monitored folder.
- [ ] Check the 'Execution Log' to ensure the OCR data was successfully mapped to variables.
- [ ] Verify in QuickBooks Online that the 'Bill' exists and the PDF is visible in the 'Attachments' section.
- [ ] Test the 'New Vendor' logic by uploading a PDF from a vendor that doesn't exist in your ledger.
- [ ] Ensure the 'Status' of the scenario is flipped to 'ON' after testing.
Ready to Automate?
Build this automation with Make.com in minutes.