Batch Processing
Fill hundreds of forms simultaneously from spreadsheet data - complete in 2 minutes what would take hours of manual work
Overview
Filling out the same PDF form dozens or hundreds of times is one of the most repetitive tasks in professional workflows. Copy data from a spreadsheet, paste it into form fields, save, repeat. For 50 forms, that's hours of manual work with no room for error.
Batch Processing eliminates this. Upload a CSV or Excel file alongside your form, and our AI form filler generates one completed PDF per row. A 100-row file for a W-4 or I-9 produces 100 completed PDFs in roughly 2 minutes. The same workflow applies to 1003 mortgage applications, COBRA election notices, CMS-1500 claim forms, or any repeating template that shares the same structure across recipients.
The AI maps each spreadsheet column to the appropriate form field automatically - matching column names to field labels even when they don't align exactly. It handles multi-column mappings (separate Street, City, State, and Zip columns feeding a single address field) and normalizes raw values to match what the form expects. You don't need to rename columns or reformat your data.
Beyond data mapping, you can add free text instructions that apply to every fill, merge multiple filled PDFs into a single flat document, and e-sign the result without leaving Instafill.ai. The entire workflow - fill, merge, sign - happens in one place.
Real-World Example: Food service operators like Kona Ice automated 250+ permit applications annually with 100% accuracy after fine-tuning.
Key Capabilities
| Capability | What it does |
|---|---|
| CSV and spreadsheet upload | Upload .csv, .xlsx, or .xls files. Each row becomes one filled form. |
| Free text input | Add instructions or context that applies to every fill - missing information, clarifications, or general rules for how the data should be interpreted. |
| AI field mapping | The AI maps spreadsheet columns to form fields automatically, even when column names don't match field labels exactly. |
| Merge into flat PDF | Select filled forms and merge them into a single, non-editable PDF. Choose page ranges if needed. Perfect when the receiving system accepts only one file. |
| E-sign merged documents | Sign the merged PDF directly in Instafill.ai. Three options: type, draw, or upload your signature. No extra software or subscriptions. |
| Review before download | Open any filled form in the visual editor to review and correct before downloading. |
| API access | Run batch fills programmatically via the REST API. |
How It Works
Visual Learner? Watch our step-by-step video tutorial with screenshots showing the CSV upload interface, field mapping screen, batch progress tracking, and merged PDF results.
Step-by-Step Batch Processing Workflow
1. Prepare Your Spreadsheet Data
Create a CSV or Excel file with your data:
- Each row = one form instance to fill
- Each column = a form field (name, address, date, etc.)
- First row = column headers in English (e.g., "First Name", "Start Date", "Email Address")
- Data itself can be in any language
Pro Tips:
- Use descriptive English column headers that match form field names
- Include optional "FileName" column to create unique PDF names for each row
- Data can contain any language/special characters
Example CSV for 100 I-9 Verifications:
FileName, Last Name, First Name, Middle Initial, Date of Birth, SSN, Citizenship Status, Document Title, Document Number, Expiration Date
i9_jane_smith, Smith, Jane, A, 03/22/1985, 123-45-6789, US Citizen, US Passport, 123456789, 2030-01-01
i9_john_doe, Doe, John, B, 01/15/1990, 987-65-4321, Permanent Resident, Alien Registration Card, A987654321, 2028-06-15
...
Technical Specifications:
- Maximum file size: 2 MB
- Maximum rows: 1,000 (increase available for Enterprise)
- Maximum columns: 20
- Supported formats: CSV, Excel (.xls/.xlsx), TSV
- Processing time: ~2 minutes for 100 rows
2. Access Batch Fill in Instafill.ai
- Log in to your Instafill.ai account
- Navigate to Forms section
- Upload your form template or select an existing form
- Click the form menu (three dots ⋮)
- Select "Fill out form in batch"
3. Upload Data & Add Context (Optional)
- Upload your CSV/Excel file - system automatically detects columns and data types
- Add free-form text (optional) - provide additional context or instructions that apply to ALL forms in the batch
- Example: "This application is submitted on behalf of XYZ Corporation for the 2024 fiscal year."
- This text is encrypted at rest and decrypted before each row is processed; the AI applies it to relevant fields
4. Review Automatic Field Mapping
AI-powered column mapping assigns each form field to one or more spreadsheet column names:
- Exact name matching: Column "First Name" → Field "first_name"
- Semantic matching: Column "applicant_name" → Field "Full Name"
- Multi-column mapping: Columns ["Street", "City", "State", "Zip"] → single address field
- Type detection: Column with dates → Date field, automatically normalized to match the field's required format
Manual Adjustments:
- Review all suggested mappings
- Click any field to change its column mapping
- Leave unmapped fields blank if not needed
- Add constant values for fields not in spreadsheet
Value Coercion:
- Interprets "Yes/No", "True/False", "1/0" as checkbox checked/unchecked state
- Reformats dates to match field-specific patterns (MM/DD/YYYY, YYYY-MM-DD, etc.)
- Truncates or flags text that exceeds the field's character limit
- Runs at reduced reasoning effort for speed - optimized for normalization tasks rather than full inference
Preview Before Processing:
- View first 5 rows with mapped data overlaid on form
- Verify field assignments are correct
- Adjust mappings if preview shows errors
5. Generate Filled PDFs
- Click "Generate" to start batch processing
- Rows are processed in parallel rather than in sequence - all rows run concurrently
- Each row's processing context is fully isolated so tracking and logging data cannot bleed between rows
- After a row's PDF is written and its AI cost is calculated, a completion event is emitted and the UI progress indicator updates
- Real-time progress tracking shows completed, in-progress, and failed rows
- Processing runs in background - continue other work
Typical Processing Time:
- 10 forms: 30 seconds
- 50 forms: 1 minute
- 100 forms: 2 minutes
- 500 forms: 15-30 minutes
- 1,000 forms: 30-60 minutes
6. Download Individual or Merged PDFs
Option A: Individual PDFs
- Each form downloads as a separate PDF
- Filenames use "FileName" column if provided, otherwise auto-generated
- Download all as ZIP archive
- Best for: Separate submissions, email attachments, document management systems
Option B: Merged PDF (Recommended for Bulk Printing)
- Select multiple or all filled PDFs
- Click "Merge into flat PDF"
- Adjust page ranges if needed (e.g., exclude cover pages, select specific forms)
- Click "Merge" to combine into single PDF
- Download one file containing all forms with page breaks
Merge Options:
- Page order: Sequential or sorted by column value
- Separator pages: Optional data summaries between forms
- Bookmarks: Auto-generated navigation for each form
- Page numbering: Restart per form or continuous
7. Handle Failed Rows (If Any)
Most batches achieve 95-99% success rate on first run. Rows are processed independently - a failure in one row does not cancel other rows.
If rows fail:
- Download error report showing failed rows and specific error messages
- Common failure reasons:
- Missing required field data
- Invalid date formats that could not be normalized to the field's required pattern
- Data exceeds field character limits
- Invalid dropdown or radio button values
- Fix source data in your CSV/Excel file
- Re-run batch for failed rows only (no need to reprocess successful rows)
- Download corrected PDFs
What's new in Batch Filling: 3 Updates to Instafill.ai Batch Filling - free text input, merge into flat PDF, and e-sign without leaving the platform.
Best Practices & Tips
Follow these proven strategies to achieve optimal batch processing results:
1. Use Descriptive English Column Headers
Why it matters: The AI matches column names to form field IDs semantically. Clear English headers improve match confidence.
Good Headers:
- "First Name" → Maps to "First Name" field
- "Date of Birth" → Maps to "DOB" or "Birth Date" fields
- "Email Address" → Maps to "Email" field
- "Home Address Line 1" → Maps to "Street Address" field
Poor Headers:
- "col1", "col2", "col3" → No semantic signal
- "Nombre" (Spanish for name) → May not map to English form field
- "xyz_field" → Ambiguous abbreviation
The headers drive mapping; the data values themselves can be in any language.
2. Include a "FileName" Column
Purpose: Assign unique, meaningful PDF filenames instead of generic auto-generated names.
Example:
FileName, First Name, Last Name, Application Number
cobra_john_doe_2024, John, Doe, COBRA-2024-001
cobra_jane_smith_2024, Jane, Smith, COBRA-2024-002
Result:
cobra_john_doe_2024.pdfcobra_jane_smith_2024.pdf
3. Test with Small Batches First
Run 5-10 rows before processing the full batch. Catching a mapping error in a 5-row test takes seconds to fix; catching it after 500 rows have already processed wastes time and may require re-running the entire job.
4. Provide Free-Form Context Text
The optional context text field accepts plain text that applies to all rows. It is encrypted at rest and decrypted before each row's processing begins, so the AI can reference it when filling fields that benefit from additional context - such as submission authority references on CMS-1500 forms or grant program identifiers on government applications.
5. Review Field Mappings Carefully
Check that:
- Date columns map to date fields so they are formatted correctly to the field's required pattern
- Checkbox columns contain consistent values ("Yes"/"No" or "1"/"0", not a mix)
- Separate address component columns (Street, City, State, Zip) map to their correct individual fields rather than a single combined field
6. Format Data Consistently
The field value coercion pipeline can normalize common date and boolean formats, but consistent input reduces the chance of edge-case failures:
- Dates: Use one format per column (e.g.,
01/15/2024throughout - do not mix withJan 15, 2024) - Checkboxes: Use
Yes/Noor1/0consistently within a column - Phone Numbers: Use one format (e.g.,
(555) 123-4567throughout)
7. Handle Large Batches Strategically
For 500+ row batches, split into sub-batches of 200-300 rows for faster feedback and simpler error recovery. Enterprise customers can use the RESTful API to trigger batches programmatically and webhooks to receive completion notifications.
8. Leverage Merged PDF for Bulk Printing
Select all completed rows and use "Merge into flat PDF" when you need a single file for bulk printing, government submission, or archival. The merged file includes auto-generated bookmarks so reviewers can navigate directly to any individual form.
Use Cases
| Industry | What you batch fill |
|---|---|
| Healthcare | Medicare provider agreements, credentialing packets, patient intake forms from EHR exports |
| Insurance | Claims forms, policy documents, compliance filings from adjuster spreadsheets |
| Legal | Client intake forms, court filings, affidavits from case management exports |
| Construction | Permit applications, safety compliance forms, inspection reports from project data |
| Government | Benefits applications, tax forms, reporting documents from agency databases |
| HR and operations | Onboarding packets, performance reviews, incident reports from HRIS exports |
Tax & Compliance Examples: Construction firms batch fill NJ ST-8 tax exemption certificates and similar high-volume compliance forms using CSV data exports from their accounting systems.
Merge and Sign
Two features that complete the batch workflow:
Merge into flat PDF. After batch filling, select the forms you need and click "Merge into flat PDF." Choose page ranges if needed, then download a single, non-editable document. This solves a common problem: compliance portals and receiving systems that only accept one file. The merge flattens all fields so nothing can be changed - a ready-to-submit document with no extra steps.
E-sign without leaving Instafill.ai. The merged PDF opens in the viewer with three signature options: type, draw, or upload. Add your signature, click Save, and you're done. No external e-signature software, no additional subscriptions.
For a walkthrough of the signing feature, see How to e-Sign PDF Documents with AI Form Filler
Benefits
- Scale: Process hundreds of forms in minutes - a 100-row W-4 batch completes in roughly 2 minutes using parallel row processing
- Consistency: Every row goes through the same column mapping and field value coercion logic, so formatting and field placement are uniform across all PDFs
- Error Isolation: A failed row does not interrupt processing of other rows; the job continues and flags the failure with a specific error message
- Accurate Data Coercion: The system normalizes dates, booleans, and type mismatches before writing to the PDF, reducing rejection rates
- Audit Trail: The batch job log records who initiated it, when, and the outcome per row - including per-row AI usage for cost tracking
- Flexible Output: Download individual PDFs per row or merge all into one file for bulk printing or submission
Security & Privacy
All batch data is workspace-scoped - no batch job or its results are visible outside the initiating workspace. Authentication middleware enforces this on every request.
Free-form context text entered at batch creation is encrypted with workspace-scoped keys stored in Azure Key Vault and decrypted immediately before each row's processing begins. Spreadsheet data is not retained beyond the configured workspace retention period.
Each row's processing context is fully isolated - AI call metadata and tracking data cannot leak from one row into another's logs.
Common Questions
What file formats can I upload?
CSV (.csv) and Excel (.xlsx, .xls). Each row in the file becomes one filled form.
How does the AI map columns to fields?
The AI matches column headers to form field labels automatically. It handles cases where names don't match exactly - for example, mapping a "Full Name" column to separate "First Name" and "Last Name" fields.
What is the free text input for?
It lets you add instructions or context that applies to every fill. Use it to provide missing information that isn't in the spreadsheet, clarify how values should be interpreted, or give general rules for the AI to follow.
Can I review individual forms before downloading?
Yes. Click on any filled form to open it in the editor. You can review, correct, and adjust before downloading.
What does "Merge into flat PDF" do?
It combines multiple filled PDFs into a single, non-editable document. All form fields are flattened so nothing can be changed. Useful when the receiving system accepts only one file.
Can I sign the merged document?
Yes. After merging, the document opens in the viewer with three signature options: type, draw, or upload. No external software needed.
Is there a limit on how many forms I can batch fill?
Limits depend on your plan. Check pricing for details.
Is batch filling available via API?
Yes. See the API documentation for endpoints and integration details.
What happens if some rows fail?
Rows run independently - a failure in one row does not cancel other rows. Failed rows are flagged with a specific error message and excluded from the output ZIP or merged PDF.
Common Failure Reasons:
- Missing required field data
- Date values that could not be normalized to the field's required format
- Text exceeding the field's character limit after coercion
- Values that do not match a dropdown field's allowed options
Recovery Workflow:
- Download the error report (CSV of failed rows with error messages)
- Fix the source data
- Re-run batch for only the failed rows - successful rows are not reprocessed
Most batches achieve a 95-99% success rate on the first run.
How does column mapping work?
The AI column mapping assigns each form field to one or more spreadsheet column names. A field can map to a single column or a list of columns when multiple columns together supply one field's value (e.g., separate Street, City, State, Zip columns populating a single address field).
Automatic Mapping Logic:
- Exact string match between column header and field label
- Semantic similarity (e.g., "applicant_name" → "Full Name")
- Data type pattern match (column of dates → date-type field)
Manual Adjustment:
- Review AI suggestions before running the batch
- Select a different column from the dropdown for any field
- Leave a field unmapped to leave it blank in all output PDFs
- Assign a constant value to a field that is not in the spreadsheet
Mapping Preview:
- The first 5 rows display with mapped values overlaid on the form
- Verify data appears in correct locations before starting the full batch
Save Mapping Templates:
- Save a mapping configuration by name
- Apply it automatically to future uploads of similarly structured files
Can I fill forms with tables using batch processing?
Yes. Each spreadsheet row fills one complete form, including any table fields within that form. For forms that contain table sections (such as a CMS-1500 service lines table or a Schedule D capital gains table), the batch row must contain the table data as well - either encoded in multiple columns (e.g., item_1_desc, item_1_amount, item_2_desc, item_2_amount) or handled by the Table & List Field Processing logic if the form uses structured table fields.
See Table & List Field Processing for details on how row-level data is extracted and mapped within a single form.
Can I generate a single merged PDF from a batch?
Yes. After the batch completes, select any subset of completed rows (or all rows) and click "Merge into flat PDF". The resulting file contains one form per section, with auto-generated bookmarks for navigation. Merge options include:
- Page order: Sequential or sorted by a column value
- Separator pages: Include or exclude a data summary page between forms
- Bookmarks: Auto-generate named PDF bookmarks per form
- Page numbering: Restart per form or continuous across the merged document
How do I handle checkboxes and radio buttons in batch data?
The field value coercion pipeline interprets checkbox and radio button values from the spreadsheet column:
- Checkboxes:
true/false,yes/no,1/0,checked/unchecked- all recognized - Radio Buttons: The column value is matched against the field's allowed options; the closest match is selected
- Comma-separated values:
"option1, option2"can check multiple checkboxes if the form supports multi-select
Use a consistent value format within each column. Mixing yes, Y, and true in the same column increases the chance of a normalization failure.
Can I schedule batch processing to run automatically?
Enterprise customers can automate batch initiation via the RESTful API and receive completion notifications via webhooks. Common patterns include:
- Claims system exports a CSV at 6:00 AM; an API call triggers the batch at 6:15 AM; completed PDFs are available before 7:00 AM
- An n8n or Zapier workflow watches a folder, uploads the file via API, and sends a Slack notification when the webhook fires
Contact sales to discuss dedicated processing queues for time-sensitive large batches.
What's the difference between batch processing and using profiles?
Batch Processing: Fill the same form template many times, each with different data from a spreadsheet row. Produces one PDF per row. Use case: 100 employees each need their own W-4.
Profiles: Store one entity's data and reuse it across many different form types. Produces one PDF per form. Use case: One employee's data fills a W-4, I-9, and direct deposit authorization in three separate sessions.
Combination: A batch job can draw on a profile for fields that are constant across all rows (e.g., employer information) while taking employee-specific fields from the spreadsheet columns. This eliminates the need to include redundant employer data in every row.