# Connect Paige to Google Sheets and Excel

Get Paige's extracted data into a spreadsheet: open the one-row-per-document CSV Paige exports, or have Zapier, Make, or Power Automate append a row to a Google Sheet or an Excel table for every document Paige finishes — with a link to the PDF.

Product: paige · Audience: user · Time: 20 minutes · Last verified: 2026-09-05

Canonical: https://help.ademero.com/paige/integrations/connect-paige-to-google-sheets-and-excel

**At the end of this guide, every value Paige extracts — vendor, invoice number, dates, totals, whatever your document types hold — is in a spreadsheet, either as a batch you open or as rows that appear on their own as documents finish.**

A spreadsheet is the most common "system" of all, and often the fastest way to see whether Paige is reading your documents the way you want. Two routes.

## Route 1 — Open the CSV Paige exports

Paige writes a **one-row-per-document CSV** with a column for each field, plus the PDF's file name and the document type. Get it two ways:

- **Download:** in Paige, open **Documents**, click **Export**, and in the **Export Documents** dialog choose the **Scope** (a batch or all), the **Filters** (**Reviewed** only, **Field Data** with fields, **Status** not yet exported), tick **Download** under **Destinations**, and confirm. Paige emails a link when the download is ready; the zip contains the PDFs and the data files.
- **SFTP:** if the scan job exports to SFTP (the **FTP** card under **Settings** > the scan job > **Export**), turn on **Generate combined metadata file** so every export run also writes the combined CSV to the folder.

Open the CSV in Google Sheets (**File > Import**) or Excel. **What you should see:** a header row and one row per document. Line-item tables aren't in this file; they're in each document's `.json` and `.xml`, and in the sectioned per-document `.csv`.

That's the batch route. It's enough for monthly reports and one-off audits.

## Route 2 — A row per document, automatically

Have an automation append a row every time Paige finishes a document. The pattern is the standard one: *SFTP trigger → keep only the data file → read the values → add a row.*

First, point Paige at your SFTP server: **Settings** > the scan job > **Export** > the **FTP** card; enter **FTP Address**, **Port** `22`, **Username**, **Password**, **FTP Folder Path**; **Test Connection** (`FTP connection successful!`); connect; then turn on **Enable Auto Export** with **Auto Field Entry Complete** = **Yes**, and **Save**. Allow Paige's address ranges through your firewall — [Outbound IP ranges for firewall allow-lists](/paige/document-processing/outbound-ip-ranges-for-firewall-allow-lists).

Put the field names in the sheet's header row exactly as they're named in Paige, plus `Document Type` and `PDF`.

### Google Sheets with Zapier

1. **SFTP by Zapier → New or Updated File**, folder = the scan job's folder.
2. **Filter by Zapier:** *File Name* **(Text) Ends with** `.json`.
3. **Code by Zapier → Run Javascript**, `file` mapped to the trigger's file:
   
   ```javascript
   const doc = await (await fetch(inputData.file)).json();
   const out = { pdf_file: doc.metadata.pdf_file, document_type: doc.metadata.document_type };
   for (const [k, v] of Object.entries(doc.fields)) out[k] = v;
   return out;
   ```

4. **Google Sheets → Create Spreadsheet Row.** Pick the spreadsheet and worksheet; Zapier lists the header names as fields — map each from the Code step. Put `pdf_file` in the `PDF` column (or, if the PDFs also go to a Google Drive folder via [that guide](/paige/integrations/connect-paige-to-google-drive), the file's link).
5. Turn the Zap on.

### Google Sheets with Make

1. **SFTP → Watch files in a folder**; filter *File name* **Ends with** `.json`.
2. **SFTP → Get a file**, then **JSON → Parse JSON**.
3. **Google Sheets → Add a Row**, mapping the parsed fields to the columns.

### Excel with Power Automate

The workbook must live in OneDrive for Business or SharePoint, and the data must be in a **formatted table** (select the header row and data, **Insert > Table**).

1. **SFTP - SSH: When a file is added or modified**, folder = the scan job's folder, **Include file content** on.
2. **Condition:** *File name* **ends with** `.json`.
3. **Parse JSON** on the trigger's *File content*, schema from a real `.json`.
4. **Excel Online (Business) → Add a row into a table.** **Location**, **Document Library**, **File**, **Table**; then one input per column, mapped from the parsed fields.
5. Save.

> **NOTE:** Power Automate's Excel connector locks the file briefly after each write and doesn't like other people editing at the same moment. Keep the automation's workbook as a landing table and link a second workbook to it for analysis.

## Test it

Process one document through the scan job and wait for the export. **What you should see:** a new row with the document's values, within the automation's polling interval.

## When it doesn't work

| Symptom | Where to look |
| --- | --- |
| No row appears | Wrong folder in the trigger, or the `.json` filter is missing (you'd see errors from parsing a PDF as JSON). |
| Columns don't line up | Header names must match what you map; a renamed header breaks the mapping. |
| Dates or amounts come in as text | They are text — Paige exports values as printed. Format the column, or convert in the automation. |
| Excel step fails with a lock error | Someone had the workbook open. Use a landing workbook nobody edits. |

If the Paige side is the problem, contact Ademero support with the scan job name and the message from **Test Connection**.

## What's next

- [Connect Paige to any app with Zapier, Make, or Power Automate](https://help.ademero.com/paige/integrations/connect-paige-to-any-app-with-zapier-make-or-power-automate)
- [Integrate your own system with the Paige API](https://help.ademero.com/paige/integrations/integrate-your-own-system-with-the-paige-api)
