Expense Receipts — Proposed Guide
Planned API — Reference OnlyExpense Receipts: A receipt links merchant evidence to an expense. A receipt amount may require review when tips, multiple items or foreign currency…
Overview
A receipt links merchant evidence to an expense. A receipt amount may require review when tips, multiple items or foreign currency differ from the submitted amount.
Key concepts
Keep extracted receipt fields distinct from employee-confirmed fields. One receipt may support several allocations.
Implementation considerations
Receipt association is not proof of policy compliance. Record unresolved discrepancies instead of automatically approving the expense.
Proposed API behavior
GET /v1/expenses/{expense_id}/receipts is an illustrative design for this topic. Path and field names may change before implementation. Access would require an authorized organization context and operation-specific permission; no public API or authorization grant is available here.
| Name | Type | Description |
|---|---|---|
| expense_idrequired | string | Stable fictional expense reference; not a secret and not evidence that a resource exists. |
No additional request fields are illustrated; this is not a finalized contract.
Static example requests
# Proposed request text only; this reserved host is not a live API.
curl -X GET 'https://api.remizen.example/v1/expenses/exp_example_123/receipts' \
-H 'Authorization: Bearer YOUR_API_KEY'Fictional response example
Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.
{
"data": {
"expense_id": "exp_example_123",
"receipt_id": "receipt_example_123",
"merchant": "Example Office Supply",
"currency": "USD",
"id": "exp_example_123",
"organization_id": "org_example_123",
"amount_minor": 12550,
"status": "draft"
},
"meta": {
"request_id": "req_example_123",
"reference_only": true
}
}Illustrative error case
Review this failure case in context: Receipt association is not proof of policy compliance. Record unresolved discrepancies instead of automatically approving the expense.
Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.
{
"error": {
"code": "validation_error",
"message": "The proposed expense receipts operation requires review of its input or authorization.",
"request_id": "req_example_123"
}
}Proposed data types
| Name | Type | Description |
|---|---|---|
| expense_id | string | Stable fictional expense reference; not a secret and not evidence that a resource exists. |
| receipt_id | string | Stable fictional receipt reference; not a secret and not evidence that a resource exists. |
| merchant | string | Fictional merchant label; it does not establish policy compliance or ledger coding. |
| currency | string | Uppercase ISO 4217 currency code. Determine its minor-unit exponent before monetary conversion. |