Bulk PDF Form Filling: One Form for a Whole Spreadsheet
Some forms are filled once. Others are filled forty times a week: the same visa application for every traveler in a group, the same G-28 for every new client, the same onboarding PDF for every hire. Each copy takes the same clicks, and the only thing that changes is the person.
This guide shows how to fill a PDF form for every row of a spreadsheet, or every form of a case for one person, using Bulk fill in the FillWise account, the web app that comes with our Chrome extension. It covers the input formats, the check run, what lands in the zip, and what you still need to look at yourself.
Why batches of forms eat the day
- The data already exists, just in the wrong shape. It sits in a CRM export, a booking sheet or a block of notes, and every form wants it in its own order.
- Each form has its own quirks. Dates day first or month first, names split into family and given, checkboxes instead of text. Copying by hand means relearning the form every time.
- One mistake repeats. If you misread a column once, you misread it in every copy, and you find out after the batch went out.
- Naming and filing take time too. Forty PDFs called
form (12).pdfare not done until someone renames them and sorts them into folders.
Two ways to run a batch
Bulk fill is a grid of documents and records. Each record is one person, one booking or one item: whatever a single copy of the form is for.
- One form, many records. A G-28 for each new client, a Schengen application for each traveler in a group.
- Many forms, one record. Every form of a case filled from one set of notes. Up to 10 PDFs per batch.
You can combine the two. Two forms for 20 records is 40 documents, and a batch takes up to 200.
The workflow
1. Add the documents
Open Bulk fill in your account at fillwise.ai/account and drop the PDFs. Each one is read before anything is charged: number of pages, fillable or flat, and whether it is a form we have a ready map for (six USCIS forms, see the USCIS guide). The card shows what one copy will cost.
Fillable PDFs, encrypted government PDFs with an empty password and flat PDFs without fields are all accepted. Dynamic XFA forms that only open in Adobe Reader are not.
2. Add the records
There are three ways in:
- A spreadsheet. Click Attach file and pick a CSV, TSV or XLSX file, or drop it on the card. The sheet is read in your browser. A preview shows the rows, and the Columns view shows which headers were recognized ("Last name" as surname, "DOB" as date of birth) and lets you rename, skip or keep a column. Columns that look internal, like an ID or a payment status, start unchecked.
- Pasted cells. Copy rows straight from Excel or Google Sheets and paste them. They become the same table.
- Text. Paste notes for several people and separate them with a line of
---. Each part becomes its own record with its own field, so editing one never touches the others. + Add record adds one more by hand.
Each row turns into plain Column: value lines for the fill, so you do not map columns to form fields. The AI does that per form, the same way it does for a single fill.
Two details save rework later. If a date column could be read either way (03/04/1985), the batch will not start until you pick Day first or Month first. And a column called File name is never sent anywhere; it only names the output files.
3. Add what is the same for everyone
Your firm, your bar number, the agency, the hotel for the whole group: put it once in Shared details and it is added to every record. It is kept in your browser for the next batch.
4. Check the first record, then run the rest
The Check step shows the cost, the documents per record and the file names. Names come from a pattern such as {surname}_{name} for folders and {record}_{form} for files, and you can insert any column.
Run check fills the first record alone and stops. Open each of its documents, fix what is wrong in the editor and save the edit into the batch. If the data was the problem, go back and fix the sheet. When the first one looks right, continue and the rest are filled, a few at a time, while the page shows progress.
5. Download the zip
You get one zip: a folder per record when there are several forms, the filled PDFs named by your pattern, and a _report.csv with the status of every document. The report holds names and statuses only, no values from your data. For a sheet, failed rows can be downloaded as a CSV with the error, ready to fix and upload again.
What to check by hand
- The first record, every time. The check run exists for a reason. A wrong date order or a column read as the wrong thing shows up there, not in copy forty.
- Checkboxes and yes/no questions. The AI only ticks what your data answers. If a form asks something your sheet does not say, it stays empty, and that is on purpose.
- Flat PDFs. On forms without fields the text is placed on the printed lines; open a few results in the editor and nudge anything that sits off.
- Signatures and dates of signing. These are yours to add.
Scans and photos
A passport photo or a scanned document can be attached as a source with Attach file (JPG, PNG, WEBP or PDF, up to 5 MB each, up to 4 files). Scans work when the batch has one record, for example a packet of forms for one client. Scans for each of many records are not supported yet.
Privacy
The spreadsheet is parsed in your browser. For each document, that record's text (and scans, if any) and the PDF are sent to our server to be filled, then the result is returned and nothing from the fill is stored. Filled documents stay in your browser for 24 hours so you can download them again, and you can clear them at any time. More on the security page.
Pricing
Bulk fill uses the same fills as everything else: one fill for every started 5 pages of a document, so a G-28 costs 1 and an I-130 costs 3. The check run is charged like any other document. If the AI fails or a document comes back with nothing filled, that document is not charged. The Free plan starts with 20 fills, then up to 5 a week; paid plans are on the pricing section.
FAQ
Can I upload an old .xls file? No. Save it as .xlsx or CSV first.
How many records fit in one batch? Up to 100 rows at a time and up to 200 documents in total. A longer sheet is split into ranges of 100 that you pick from.
Do I have to keep the tab open? Yes, the batch runs from your browser. You can switch to other sections of the account while it fills; closing the tab pauses it, and you can resume within 24 hours.
Does it work without the Chrome extension? Yes. Bulk fill is in the web account. The extension is for filling forms on websites and single PDFs.
Can I fill web forms in bulk? Not from the account. Bulk fill works with PDF forms. For web forms, the extension fills one form at a time from pasted text.
Try it
Sign in at fillwise.ai/account, open Bulk fill and run a batch of two or three records first. If you also fill forms on websites, add the FillWise Chrome extension.