## TL;DR

The reimbursement is approved but cannot post: a required accounting field (GL account, department, class) is missing or mapped to an invalid account. Fix the mapping in Ramp's accounting settings, correct the reimbursement's coding, and re-run the sync.

## Error

```text
ramp reimbursement failed with accounting error
```

## Steps

1. Open the failed reimbursement in Ramp and read the accounting error detail. Expected: the specific missing or invalid field is named.
2. In Ramp's accounting integration settings, check the category-to-GL-account mapping for the reimbursement's category. Expected: you find the bad or missing mapping.
3. Correct the mapping to an active GL account valid for the entity. Expected: the mapping saves cleanly.
4. Fix the coding on the failed reimbursement itself if it carries the old values. Expected: every required accounting field is filled.
5. Re-run the accounting sync for the reimbursement. Expected: it posts to the accounting system.

## When to use

- A Ramp reimbursement fails specifically at the accounting or sync step.
- The error names a GL account, department, or class problem.

## When not to use

- The reimbursement is stuck in approval (approval-side issue).
- Receipts are missing (see the receipt skills).

## Tool compatibility

- Ramp reimbursements; NetSuite, QuickBooks, Xero accounting integrations.

## Variant phrasings

### Accounting sync failed on reimbursement

Same failure, alternate wording.

### Reimbursement could not post to the ledger

The finance-view phrasing of the same problem.

## Why it happens

Reimbursements must post to the general ledger with complete coding. A missing mapping or an invalid account blocks posting, even though the reimbursement itself is fully approved.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_KwzMl1XLb8S2Txk3xn-ueA
