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

# Card transactions

> How Ramp card spend is coded, synced, and posted in Campfire, including amortization, statement payments, and cashback.

Ramp card spend posts to Campfire as a credit card journal entry once each transaction is coded in Ramp. The expense side comes from your Ramp coding; the credit side is the Ramp card liability account you mapped on the connection.

```mermaid theme={null}
sequenceDiagram
    autonumber
    actor U as Cardholder
    participant R as Ramp
    participant C as Campfire
    U->>R: Transaction clears, then coded to Ready to Sync
    R->>C: Sync card transaction
    Note over C: Debit expense · Credit Ramp card liability
    C-->>C: Post credit card journal entry
```

## When a card transaction syncs

A card transaction is eligible to sync once it has cleared and is coded to **Ready to Sync** in Ramp. To reach Ready to Sync, these fields must be completed in Ramp:

* **Account** (required)
* **Vendor** (required)
* **Department** (optional)
* **Tag groups** (optional)

How it then reaches Campfire depends on whether your team uses Ramp's sync buttons.

<Tabs>
  <Tab title="Automatic (default)">
    Campfire pulls the transaction on its own once it hits **Ready to Sync**, in
    real time through Ramp webhooks and reconciled on the three-hour cycle.
    Nobody needs to click anything. Click **Sync Data** on the connection to
    pull immediately (the button then waits 2 minutes before it can run again).
  </Tab>

  <Tab title="With sync buttons">
    When **Enable Sync Buttons in Ramp** is on, Campfire stops pulling card
    transactions automatically. A user marks each transaction by clicking
    **Sync** on Ramp's Transactions page, which sends it to Campfire.
  </Tab>
</Tabs>

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/help-docs/images/ramp/ramp-card-queue.png" alt="The card transactions accounting queue in Ramp, where transactions are coded to Ready to Sync" />
</Frame>

## How it posts

When the transaction syncs, Campfire posts a credit card journal entry:

| Side   | Account                                                          |
| ------ | ---------------------------------------------------------------- |
| Debit  | Expense account, from your Ramp coding                           |
| Credit | Ramp card liability, the **Ramp Card Account** on the connection |

The matching bank-side entry comes from your bank feed and is reconciled separately.

The journal entry memo is the Ramp memo (or merchant name) with the cardholder appended: **\[memo or merchant] - Cardholder: \[name]**. By default the vendor is the merchant; turn on **Use Cardholder as Vendor for Card Transactions** to use the employee instead. Receipts attached in Ramp sync to the transaction's **Attachments** tab, and Campfire writes a link back to the original transaction in Ramp.

Refunds sync as their own transactions: a card refund arrives as a new, negative entry mirroring the expense, and reverses the amortization schedule if the original transaction was amortized. Declined transactions never sync at all (only cleared transactions do), and reversals or dispute credits arrive as refund transactions through the same path. In the rare case a cleared transaction is removed in Ramp outright, the synced entry stays in Campfire and is corrected manually.

## Amortization

To spread a card expense across periods, code it for amortization in Ramp. Campfire posts the line to the prepaid asset account and recognizes the expense over the date range.

Set it up once, then code the transaction:

* **Make the prepaid account visible in Ramp.** In Campfire, set the account's sub-type to **Prepaid** and keep it active. Only active prepaid-subtype accounts are pushed to Ramp as prepaid options.
* **Enter dates Ramp can read.** Use a plain date format such as **YYYY-MM-DD** for the prepaid start and end dates in Ramp. The start must be on or before the end, or the transaction fails to sync.
* **Code both accounts on the transaction.** Put the expense account on the line and select the prepaid asset account in the prepaid field. Campfire posts the line amount to the prepaid account and amortizes it to the expense account across the dates.

## Statement payments and cashback

* **Statement payments.** When you pay down your Ramp card balance, Campfire recognizes the payment from your bank feed rather than creating it. The bank transaction's description must contain **RAMP STATEMENT**, or contain both **RAMP PAYMENTS** and **STATEMENT** ("RAMP PAYMENTS" alone also appears on bill payments and reimbursements, so it isn't matched by itself); Campfire then moves it out of uncategorized and onto your Ramp card account, reducing the card liability. If it cannot match, the transaction stays uncategorized for you to code to the Ramp card account.
* **Cashback.** Cashback redemptions post a journal entry that debits your Ramp card account and credits an uncategorized account. Categorize that credit to your cashback income or expense account.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Why hasn't a card transaction synced?">
    Confirm the transaction has cleared, has its **Account** and **Vendor**
    completed in Ramp, and is marked **Ready to Sync**. It must also be dated on
    or after the connection's **Pull From** date. The automatic sync looks back
    60 days, so a transaction coded Ready to Sync more than 60 days after it
    cleared won't be pulled on its own. If **Enable Sync Buttons in Ramp** is
    on, the transaction only syncs when someone clicks **Sync** on it in Ramp;
    otherwise trigger a sync from the connection in Campfire, or use Ramp's Sync
    button for anything past the 60-day window.
  </Accordion>

  <Accordion title="The credit side posted to the wrong account.">
    Card transactions credit the **Ramp Card Account** set on the connection's
    entity mapping. Update that account under [**Settings > Connections >
    Ramp**](https://app.meetcampfire.com/v2/settings/ramp); new transactions
    post to the updated account.
  </Accordion>

  <Accordion title="A prepaid transaction isn't amortizing.">
    Check that the prepaid account has its sub-type set to **Prepaid** in
    Campfire (so it appears in Ramp), that the prepaid start and end dates are
    in a readable format with the start on or before the end, and that both the
    expense account and the prepaid account are coded on the transaction in
    Ramp.
  </Accordion>

  <Accordion title="A statement payment stayed uncategorized.">
    Campfire matches statement payments only when the bank transaction's
    description contains **RAMP STATEMENT**, or both **RAMP PAYMENTS** and
    **STATEMENT**. If your bank feed uses different text, categorize the
    transaction to your Ramp card account manually.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Overview" icon="map" href="/integrations/expense-ap/ramp/overview">
    The full sync picture across all record types.
  </Card>

  <Card title="Sync settings" icon="sliders" href="/integrations/expense-ap/ramp/setup#sync-settings">
    Cardholder-as-vendor and other posting options.
  </Card>
</Columns>
