Expense Management (Beta)
Endpoints for Expense Management such as Claims and Expenses
Content
Claim
A claim is a request made by an employee for business expenses. The claim can originate from multiple sources including manually created reimbursements, credit card imports or virtual card transactions. The claim includes totals and summary details of the individual expenses.
Endpoints
GET /{version}/company/{companyId}/claim/{claimId}
Response
{
"id": "3462",
"companyId": "1",
"claimantId": "4645",
"employeeNumber": "E00012",
"claimantName": "Kylie Magenta",
"claimantExternalCode": "ABC",
"claimType": "Master Card",
"status": "Finalised",
"claimCurrencyTotals": [
{
"grossAmount": 1247.63,
"netAmount": 1143.3,
"taxAmount": 104.33,
"currencyCode": "AUD"
}
],
"transactionTotals": [
{
"grossAmount": 300,
"netAmount": 281.82,
"taxAmount": 18.18,
"currencyCode": "AUD"
},
{
"grossAmount": 250,
"netAmount": 227.28,
"taxAmount": 22.72,
"currencyCode": "GBP"
},
{
"grossAmount": 300,
"netAmount": 272.73,
"taxAmount": 27.27,
"currencyCode": "USD"
},
{
"grossAmount": 100,
"netAmount": 90.91,
"taxAmount": 9.09,
"currencyCode": "NZD"
}
],
"summary": "",
"notes": "",
"approvers": [
{
"id": "4709",
"name": "John Red",
"approvedDate": "2025-05-01T00:00:00Z"
},
{
"id": "4710",
"name": "Kaylie Magenta",
"approvedDate": "2025-05-02T00:00:00Z"
}
],
"fromDate": "1970-01-01T00:00:00Z",
"toDate": "1970-01-01T00:00:00Z",
"approvedDate": "1970-01-01T00:00:00Z",
"finalisedDate": "1970-01-01T00:00:00Z",
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "text",
"name": "Test Custom Field",
"value": "optional"
}
]
}Endpoints
GET /{version}/company/{companyId}/claim
Parameters
finalisedDate (date)
A filter for the finalised date of the claim, the results returned will be after or on the specified finalised date.
status (string)
A filter on the status, if none provided all status will be included in the results.
Accepted values:
None - No claim status has been set.
NotSubmitted - The claim has been created but not yet submitted for approval.
PendingApproval - The claim has been submitted and is awaiting approval.
Approved - The claim has been reviewed and approved, but not yet finalised.
Finalised - The claim has been fully processed and finalised.
Rejected - The claim has been reviewed and rejected.
minUpdatedDate (string)
A filter for the last updated timestamp. Returns the data updated on or after the specified date-time in UTC.
Example: 2024-08-27 or 2024-08-27T16:25:16Z
Response
{
"page": [
{
"id": "3462",
"companyId": "1",
"claimantId": "4645",
"employeeNumber": "E00012",
"claimantName": "Kylie Magenta",
"claimantExternalCode": "ABC",
"claimType": "Master Card",
"status": "Finalised",
"claimCurrencyTotals": [
{
"grossAmount": 1247.63,
"netAmount": 1143.3,
"taxAmount": 104.33,
"currencyCode": "AUD"
}
],
"transactionTotals": [
{
"grossAmount": 300,
"netAmount": 281.82,
"taxAmount": 18.18,
"currencyCode": "AUD"
},
{
"grossAmount": 250,
"netAmount": 227.28,
"taxAmount": 22.72,
"currencyCode": "GBP"
},
{
"grossAmount": 300,
"netAmount": 272.73,
"taxAmount": 27.27,
"currencyCode": "USD"
},
{
"grossAmount": 100,
"netAmount": 90.91,
"taxAmount": 9.09,
"currencyCode": "NZD"
}
],
"summary": "",
"notes": "",
"approvers": [
{
"id": "4709",
"name": "John Red",
"approvedDate": "2025-05-01T00:00:00Z"
},
{
"id": "4710",
"name": "Kaylie Magenta",
"approvedDate": "2025-05-02T00:00:00Z"
}
],
"fromDate": "1970-01-01T00:00:00Z",
"toDate": "1970-01-01T00:00:00Z",
"approvedDate": "1970-01-01T00:00:00Z",
"finalisedDate": "1970-01-01T00:00:00Z",
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "text",
"name": "Test Custom Field",
"value": "optional"
}
]
}
],
"nextCursor": ez438tjgowjr0"
}
Expense
Expenses are the individual transactions that are included in a specific claim. The expense includes the individual transaction details such as price, quantity, description, totals, as well as other data related to splits, allocations, and Fringe Benefit Tax (FBT).
Endpoints
GET /{version}/company/{companyId}/claim/{claimId}/expense/{expenseId}
Response
{
"id": "1234567",
"companyId": "1",
"entityId": "ENT1",
"description": "",
"glCode": "GL001",
"isSplit": true,
"splitChildren": [
{
"splitId": "456",
"_link": "/company/4/claim/555/expense/1234567/split/456"
},
{
"splitId": "457",
"_link": "/company/4/claim/555/line/expense/split/457"
}
],
"taxCode": "GST",
"itemQty": 5.00,
"netUnitRate": 10.00,
"claimCurrencyTotal": {
"grossAmount": 89.37,
"netAmount": 81.24,
"taxAmount": 8.13,
"currencyCode": "AUD"
},
"transactionTotal": {
"grossAmount": 50,
"netAmount": 45.45,
"taxAmount": 4.55,
"currencyCode": "GBP"
},
"portfolioCode": "PORT_CODE",
"projectCode": "PRJ_CODE",
"costCenterCode": "CC001",
"externalCode": "",
"isOmitted": false,
"isPersonal": false,
"recipient": {
"type": "Guest",
"code": "",
"name": "Jane Doe",
"employeeId": "EM12345",
"employeeNumber": "HR12345",
},
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "date",
"name": "Arrival",
"value": "optional"
},
{
"type": "text",
"name": "City",
"value": "optional"
}
]
}Endpoints
GET /{version}/company/{companyId}/claim/{claimId}/expense
Parameters
includePersonal (boolean) - false
A filter for including personal expenses in the claim.
includeOmitted (boolean) - false
A filter for including omitted lines in the invoice, omitted lines are those that are excluded from the invoice totals and from approvals and workflows.
minUpdatedDate (string)
A filter for the last updated timestamp. Returns the data updated on or after the specified date-time in UTC.
Example: 2024-08-27 or 2024-08-27T16:25:16Z
Response
{
"page": [
{
"id": "1234567",
"companyId": "1",
"entityId": "ENT1",
"description": "",
"glCode": "GL001",
"isSplit": true,
"splitChildren": [
{
"splitId": "456",
"_link": "/company/4/claim/555/expense/1234567/split/456"
},
{
"splitId": "457",
"_link": "/company/4/claim/555/line/expense/split/457"
}
],
"taxCode": "GST",
"itemQty": 5.00,
"netUnitRate": 10.00,
"claimCurrencyTotal": {
"grossAmount": 89.37,
"netAmount": 81.24,
"taxAmount": 8.13,
"currencyCode": "AUD"
},
"transactionTotal": {
"grossAmount": 50,
"netAmount": 45.45,
"taxAmount": 4.55,
"currencyCode": "GBP"
},
"portfolioCode": "PORT_CODE",
"projectCode": "PRJ_CODE",
"costCenterCode": "CC001",
"externalCode": "",
"isOmitted": false,
"isPersonal": false,
"recipient": {
"type": "Guest",
"code": "",
"name": "Jane Doe",
"employeeId": "EM12345",
"employeeNumber": "HR12345",
},
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "date",
"name": "Arrival",
"value": "optional"
},
{
"type": "text",
"name": "City",
"value": "optional"
}
]
}
],
"nextCursor": ez438tjgowjr0"
}
Expense Split Line
Endpoints
GET /{version}/company/{companyId}/claim/{claimId}/expense/{expenseId}/split/{expenseLineSplitId}
Response
{
"id": "1234567",
"companyId": "1",
"entityId": "ENT1",
"splitParentId": "17",
"description": "",
"glCode": "GL30240",
"taxCode": "GST",
"claimCurrencyTotal": {
"grossAmount": 89.37,
"netAmount": 81.24,
"taxAmount": 8.13,
"currencyCode": "AUD"
},
"transactionTotal": {
"grossAmount": 50,
"netAmount": 45.45,
"taxAmount": 4.55,
"currencyCode": "GBP"
},
"portfolioCode": "PORT_CODE",
"projectCode": "PRJ_CODE",
"costCenterCode": "CC001",
"externalCode": "",
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "date",
"name": "Arrival",
"value": "optional"
},
{
"type": "text",
"name": "City",
"value": "optional"
}
]
}Endpoints
GET /{version}/company/{companyId}/claim/{claimId}/expense/{expenseId}/split
Response
{
"page": [
{
"id": "1234567",
"companyId": "1",
"entityId": "ENT1",
"splitParentId": "17",
"description": "",
"glCode": "GL30240",
"taxCode": "GST",
"claimCurrencyTotal": {
"grossAmount": 89.37,
"netAmount": 81.24,
"taxAmount": 8.13,
"currencyCode": "AUD"
},
"transactionTotal": {
"grossAmount": 50,
"netAmount": 45.45,
"taxAmount": 4.55,
"currencyCode": "GBP"
},
"portfolioCode": "PORT_CODE",
"projectCode": "PRJ_CODE",
"costCenterCode": "CC001",
"externalCode": "",
"createdDate": "1970-01-01T00:00:00Z",
"updatedDate": "1970-01-01T00:00:00Z",
"customFields": [
{
"type": "date",
"name": "Arrival",
"value": "optional"
},
{
"type": "text",
"name": "City",
"value": "optional"
}
]
}
],
"nextCursor": ez438tjgowjr0"
}
Transaction
A transaction is a single card spend made by an employee using a company card. It represents one purchase or charge (for example, a payment to a merchant) on that card, including details such as date, amount, currency, merchant, and the cardholder.
Endpoints
POST /{version}/company/{companyId}/transaction
Fields
| Field | Description | Optional |
| transactionId | Unique identifier of the transaction as provided by the external card or banking provider. It is used for duplicate checking for the transactions within the same card program. | |
| transactionDate | Date when the transaction occurred on the card/bank account (purchase date). | |
| postingDate | Date when the transaction was posted/settled by the card or banking provider. | |
| merchantName | Name of the merchant where the transaction occurred, as provided by the card or banking provider. | |
| mcc | Merchant Category Code associated with the transaction. | |
| transactionAmount | Monetary amount of the transaction in the billing (card) currency; includes sign (positive/negative). | |
| currencyCode | ISO 4217 currency code in which the transaction is billed (e.g. “AUD”, “USD”). | |
| foreignCurrencyAmount | Monetary amount of the transaction in the original purchase currency (if different from the billing currency). | Yes/Required if foreignCurrencyCode is present |
| foreignCurrencyCode | ISO 4217 currency code for the original transaction currency (e.g. “EUR” if the card is billed in AUD but the purchase was in EUR). | Yes/Required if foreignCurrencyAmount is present |
| cardHolderName | Name of the card holder associated with the card used for this transaction. | |
| cardId | Internal identifier of the card within ProSpend. | Yes |
| cardSuffix | Masked or partial card number (last 6 digits) identifying the specific card. | |
| externalCardId | Identifier of the card as provided by the external provider. | Yes |
| transactionStatus |
Status of the transaction in the external provider’s lifecycle. Valid statuses - COMPLETED |
|
| cardProgramCode | Code identifying the card program within ProSpend. Reach out to ProSpend for more information on this. | |
| cardProgramType | Type/category of the card program (e.g. “AMEX”, “”Visa", “MasterCard”, etc.), used to distinguish different provider/program behaviours. Reach out to ProSpend for more information on this. |
Request
{
"transactionId": "txn_1775706370771",
"transactionDate": "2026-01-31",
"postingDate": "2026-02-02",
"merchantName": "Telstra",
"mcc": "5943",
"transactionAmount": 700.00,
"currencyCode": "AUD",
"foreignCurrencyAmount": 500.00,
"foreignCurrencyCode": "USD",
"cardHolderName": "Kylie Magenta",
"cardId": "28676",
"cardSuffix": "1111",
"externalCardId": "123123",
"transactionStatus": "COMPLETED",
"cardProgramCode": "AR_AU",
"cardProgramType": "AR"
}Response
{
"id": "12345",
"transactionId": "txn_1775706370771",
"transactionDate": "2026-01-31",
"postingDate": "2026-02-02",
"merchantName": "Telstra",
"mcc": "5943",
"transactionAmount": 700.00,
"currencyCode": "AUD",
"cardHolderName": "Kylie Magenta",
"cardSuffix": "1111",
"cardId": "28676",
"externalCardId": "123123",
"transactionStatus": "COMPLETED",
"cardProgramCode": "AR_AU",
"cardProgramType": "AR",
"companyId": "4",
"createdDate": "2026-04-09",
"foreignCurrencyCode": "USD",
"exchangeRate": null,
"foreignCurrencyAmount": 500.00
}