> For the complete documentation index, see [llms.txt](https://docs.rubica.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rubica.au/households/revenue/uploading-and-processing-a-revenue-file.md).

# Uploading and Processing a Revenue File

Once an institution config exists, uploading is straightforward — drop the file, review the rows, and confirm. The system matches each row to a client account and creates revenue records in Salesforce.

**Where to find this:** Revenue page → **Upload** tab.

> **Prerequisite:** An institution config must exist for the file you're uploading. If this is the first file from a new institution, complete [Setting Up an Institution Config](https://a5f3a5c2-364d-41b2-87e2-dd4e1dfe2bbf.frame.claudeusercontent.com/_f/1783300341-c03c/REVENUE-INSTITUTION-CONFIG.md) first. You'll get a "No matching institution config found" error otherwise.

### Steps

#### 1. Go to the Upload tab on the Revenue page

Navigate to the Revenue app and click the **Upload** tab (the first tab, not the Config tab).

#### 2. Upload the file

Drag the file onto the upload area, or click to browse. Supported formats:

| Format           | Notes                             |
| ---------------- | --------------------------------- |
| CSV              | Processed directly                |
| XLSX / XLS       | Auto-converted to CSV via Workato |
| PDF              | Auto-converted to CSV via Workato |
| PNG / JPG / JPEG | Auto-converted to CSV via Workato |

Conversion can take a few seconds for Excel and PDF files.

Alternatively, click **or paste table data instead** to paste copied spreadsheet data directly.

> The filename is used to match the institution config. Don't rename the file in a way that removes the institution name — e.g. don't strip `NEOS Life` from the filename.

#### 3. Set dates if prompted

Some institutions don't include date information in their files. If the config requires it, date fields appear after upload:

* **Bank Deposit Date** — the date the payment was deposited. Check your bank statement for this.
* **Platform Log Date** — the date the platform logged the revenue. Usually the statement period end date.

These fields only appear when the institution's config requires them. If they don't appear, the dates come from the file itself.

#### 4. Review the preview

A preview table loads showing a sample of the rows detected in the file. Scan it to confirm the data looks right — client names, amounts, and dates should be recognisable.

> If the preview looks wrong — columns misaligned, amounts in the wrong fields — the institution config may need updating. Go to the Config tab, reload the institution, and adjust the column mappings.

#### 5. Choose a mode: Remove or Keep

Use the toggle above the full row list to choose how you want to work through the data:

**Remove mode** *(default)* All rows are included to start. Click any row you want to exclude. Best when most rows are valid and you only need to pull out a few exceptions.

**Keep mode** No rows are included to start. Click each row you want to process. Best when only a subset of rows should be imported.

> Switching modes resets your row selections. The row count in the confirm button updates live as you toggle rows.

#### 6. Confirm and process

Click **Process X rows**. Salesforce matches each row to a client account and creates the revenue records.

The results screen shows the outcome for each row:

| Result               | Meaning                                                                                                                                       |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| ✅ Created            | A new revenue record was created and linked to a matching account.                                                                            |
| ⚠️ Duplicate skipped | An identical record already exists from a previous upload. Nothing was created.                                                               |
| ○ Unmatched          | No account could be found for the client reference. The row is saved but not linked — review and manually link from the Revenue records list. |

> Safe to re-upload the same file — duplicate rows are automatically detected and skipped, so you won't create double entries.

### Troubleshooting

**"No matching institution config found for: …"** No config exists for this institution yet. Go to the **Config** tab and complete the setup for this institution before uploading. See [Setting Up an Institution Config.](/households/revenue/setting-up-an-institution-config.md)

**Extraction failed (Excel or PDF)** The Workato extraction service couldn't read the file. Check the file isn't password-protected or corrupted. If the file opens fine locally, check that the Workato MS Graph connection for this org is active.

**Preview columns look wrong** The config's Header Row Identifier may not match the file's actual header row. Go to the **Config** tab, select the institution, upload the new file, and check the header row status indicator. Update and re-save if needed.

**All rows show as Unmatched** The Account Ref column mapping may be pointing to the wrong column, or the client references in the file don't match the External IDs on the Financial Accounts in Salesforce. Check the Account Ref mapping in the config, and verify the Institution has the correct External ID field configured.

**Revenue type values missing from records** The file contains a revenue type value that wasn't present when the config was created. Go to the **Config** tab, upload the new file, and the new values will appear in the revenue type mapping section — map them and re-save.
