> ## Documentation Index
> Fetch the complete documentation index at: https://usepike.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Expensify

> How to connect Expensify to Pike and import expenses from approved reports onto projects every hour.

The Expensify integration imports expenses from approved Expensify reports into Pike every hour and puts each one on its project, so out-of-pocket costs count against project margin.

## Connect Expensify

1. Go to **Workspace settings** → **Integrations** → **Expensify**.
2. Click **Add integration**.
3. Enter your Expensify partner user ID and secret.

Only workspace admins can connect or disconnect Expensify.

## Import data

On the integration page, click **Import data**. The stepper runs entities in dependency order, so Pike reads expense categories before the expenses that use them. It skips entities whose **Read** toggle is off, names them, and links to sync settings.

## What syncs

| Expensify | Pike expense | Notes |
| - | - | - |
| Amount and currency | Amount and currency | |
| Date | Date | |
| Merchant | Merchant | |
| Category | Expense category | Through the category mapping |
| Receipt image | Receipt link | |
| Billable flag | Billable flag | |
| Tag | Project | A tag named after the Pike project, or the tag mapping table |

### Projects

Pike takes the project from an Expensify tag named after the Pike project, or from the tag mapping table. Expenses without a project land in [Log → Expenses](https://usepike.com/docs/sidebar/log.md#expenses) for review.

### Source of truth

Once a record is linked, Expensify owns the linked fields and Pike reads them back. Pike-only fields, such as project links, internal notes, allocations, and cost profiles, stay in Pike and are never overwritten.

### Schedule

Pike reads approved reports from Expensify every hour. **Import data** and **Refresh** always run on demand.

## Sync settings

While Expensify is connected, the **What syncs with Expensify** card sits under the top button row on the integration page. Each entity has a **Read** toggle (Expensify to Pike). Toggles save immediately.

| Entity | Read | Send |
| - | - | - |
| Expenses | Yes | Not available |

New connections start with **Read** on for everything.

## Synced records

Every synced record shows the Expensify marker, "Last synced {time}" or "Not synced yet", and a **Refresh** action. **Refresh** shows only while **Read** is on for that entity.

### Sync issues

Records that fail to sync appear in the **Sync issues** list on the integration page, with the record, the reason, and a **Retry** action. The integration never deletes Pike data on its own. A record removed in Expensify is marked "Removed in Expensify" in Pike, never deleted.

## Disconnect

Disconnecting Expensify stops syncing and keeps all imported data. Linked records keep their history.

## Permissions

Synced data respects Pike roles and private projects. A private project's tasks never sync out to anyone who cannot see the project in Pike.

## Limits

* The sync is one way, from Expensify to Pike.
* Reimbursement stays in Expensify.
* Only expenses on approved reports import.

## Related

* [Expensify integration overview](https://usepike.com/integrations/expensify): What syncs, how agencies use it, and FAQs.
* [Pleo](https://usepike.com/docs/integrations/pleo.md): Card and out-of-pocket expenses in real time.
* [Log → Expenses](https://usepike.com/docs/sidebar/log.md#expenses): Review, assign, and approve expenses.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.