Airwallex logo

ExpensesBeta

Copy for LLMView as Markdown

Manages expenses associated with corporate card transactions. Supports approval workflows, receipt attachments, accounting field categorization, line item breakdowns, and sync with external accounting systems.

Endpoints
GET /api/v1/spend/expenses
GET /api/v1/spend/expenses/{id}
POST /api/v1/spend/expenses/{id}/sync

List expenses

GET /api/v1/spend/expenses

List expenses based on the query parameters.

Parameters
from_created_atstring

Filter by expenses created after this timestamp (inclusive) in ISO8601 format.

If not specified, defaults to last 30 days from to_created_at.

legal_entity_idstring

Filter by legal entity identifier.

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call.

statusarray

Filter by expense statuses. Possible values are DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED. Additional values may appear; implementations should handle unknown values gracefully.

sync_statusarray

Filter by sync statuses. Possible values are NOT_SYNCED, READY_TO_SYNC, SYNCED, SYNC_FAILED.

to_created_atstring

Filter by expenses created before this timestamp (exclusive) in ISO8601 format.

If not specified, defaults to now.

Response body - 200 OK
itemsarray

List of items returned.

items.account_idstring

Unique identifier of the Airwallex account that owns this expense. This determines which account the expense amount is debited from.

items.accounting_field_selectionsarray

Accounting categories and custom fields assigned to this expense for reporting and categorization in your accounting system.

items.accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

items.accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

items.accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

items.accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

items.accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

items.approversarray

Email addresses of users authorized to approve this expense. An empty array indicates no approval is required or the expense has already been approved.

items.attachmentsarray

Receipt images and supporting documents uploaded for this expense. Commonly used for compliance and approval workflows.

items.attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

items.attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

items.attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

items.attachments.idstring

Unique identifier of the attachment.

items.billing_amountstring

Total amount charged to your account in billing currency, including any fees or currency conversion. This may differ from the original transaction amount.

items.billing_currencystring

Currency in which the billing amount is charged to your account. This is your account's primary currency, regardless of the original transaction currency.

items.card_idstring

Unique identifier of the Airwallex card used to make this purchase. Links the expense to the specific card and cardholder for tracking and reporting.

items.card_transactionobject

Details of the original card transaction associated with an expense, including the authorization status, amount, and currency.

items.card_transaction.amountstring

Amount of the original card transaction in the transaction currency.

items.card_transaction.currencystring

Currency of the original card transaction, as an ISO 4217 currency code.

items.card_transaction.statusstring

Transaction status. Possible value are AUTHORIZED, CLEARED, DECLINED, REVERSED.

items.commentsarray

Conversation thread and notes about this expense, typically used for approval workflows and clarifications between cardholders and approvers.

items.comments.contentstring

Text body of the comment.

items.comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

items.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.idstring

Unique identifier of the expense.

items.legal_entity_idstring

Unique identifier of the business entity associated with this expense. Used for accounting segregation and compliance reporting across different business entities.

items.line_itemsarray

Breakdown of the expense into detailed line items with individual accounting categories. The sum of all line item amounts should equal the total expense amount.

items.line_items.accounting_field_selectionsarray

Accounting and categorization fields assigned to this specific line item. Allows for different accounting treatment of individual components within a single expense.

items.line_items.accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

items.line_items.accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

items.line_items.accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

items.line_items.accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

items.line_items.accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

items.line_items.idstring

Unique identifier of the expense line item.

items.line_items.descriptionstring

Optional description providing details about this specific line item. Helps explain what this component of the expense represents for accounting and approval purposes.

items.line_items.transaction_amountstring

Amount of this line item in the transaction currency, including all taxes. Represents the actual expense amount for this specific component of the overall expense.

items.statusstring

Current approval status of the expense. Possible values: DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED. Additional values may appear; implementations should handle unknown values gracefully.

DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED, DELETED

items.sync_statusstring

Expense sync status. Possible values are NOT_SYNCED, READY_TO_SYNC, SYNCED, SYNC_FAILED.

items.updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

items.attendeesarray

Attendees associated with this expense, including internal employees and external guests.

items.attendees.externalboolean

Indicates whether the attendee is external to the organization.

items.attendees.namestring

Name of the attendee.

items.attendees.emailstring

Email address of the attendee. Present only when external is false.

items.descriptionstring

Optional description or memo providing additional context about the expense. Often includes the business purpose or additional details about the purchase.

items.merchantstring

Name of the business or merchant where the purchase was made, as reported by the payment network. Null for some transaction types.

items.settled_atstring

Timestamp when the transaction was settled, in ISO8601 format. Null if transaction is still pending settlement.

page_afterstring

A pointer to the end of the page list used in pagination to retrieve the next page of results.

page_beforestring

A pointer to the start of the page list use in pagination to retrieve the previous page of results.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

GET /api/v1/spend/expenses
$curl --request GET \
> --url 'https://api.airwallex.com/api/v1/spend/expenses' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "id": "ba46f0ff-8081-4db6-8333-4e011fe9561d",
5 "account_id": "acct_a2y0pxz3m4k5hoZldn97hjzp",
6 "legal_entity_id": "le_U3jlHqQRNHWn2zAKeeT8sg",
7 "card_id": "93eed14b-104d-4f40-ae1d-3633c6538276",
8 "status": "AWAITING_APPROVAL",
9 "card_transaction": {
10 "status": "CLEARED",
11 "amount": "105.50",
12 "currency": "USD"
13 },
14 "sync_status": "SYNCED",
15 "billing_currency": "USD",
16 "billing_amount": "105.5",
17 "description": "Client dinner at restaurant for Q4 planning meeting",
18 "merchant": "Starbucks Coffee #1234",
19 "approvers": [
22 ],
23 "created_at": "2025-01-01T00:00:00Z",
24 "updated_at": "2025-02-02T00:00:00Z",
25 "settled_at": "2025-03-03T10:15:30Z",
26 "accounting_field_selections": [
27 {
28 "type": "GENERAL_LEDGER_ACCOUNT",
29 "name": "Expense Account",
30 "external_id": "c9fcfdee-f943-45c9-abaa-45df1601ae04",
31 "value": "Travel & Entertainment",
32 "value_label": "Travel & Entertainment"
33 }
34 ],
35 "attachments": [
36 {
37 "id": "0fd62109-cfc0-4c94-86a5-d01c42506b76",
38 "content_type": "image/jpeg",
39 "file_name": "receipt.jpg",
40 "file_url": "https://files.airwallex.com/receipt.jpg",
41 "created_at": "2024-12-16T09:22:00Z"
42 }
43 ],
44 "line_items": [
45 {
46 "id": "a12fca5e-4aeb-4adb-85b0-428b4f078aba",
47 "transaction_amount": "105.50",
48 "description": "Business meal with client",
49 "accounting_field_selections": []
50 }
51 ],
52 "comments": [
53 {
54 "content": "Expense approved - valid business purpose confirmed",
55 "created_by": "[email protected]",
56 "created_at": "2025-01-01T00:00:00Z"
57 }
58 ]
59 }
60 ],
61 "page_after": "eyJwYWdlX2JlZm9yZSI6IjIwMjUtMDctMDFUMDA6MDA6MDBaIn0=",
62 "page_before": "eyJwYWdlX2JlZm9yZSI6IjIwMjUtMDctMDFUMDA6MDA6MDBaIn0="
63}
Was this section helpful?

Get expense

GET /api/v1/spend/expenses/{id}

Retrieves the details of an existing expense.

Parameters
idrequiredstring

Unique identifier of the expense.

Response body - 200 OK
account_idstring

Unique identifier of the Airwallex account that owns this expense. This determines which account the expense amount is debited from.

accounting_field_selectionsarray

Accounting categories and custom fields assigned to this expense for reporting and categorization in your accounting system.

accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

approversarray

Email addresses of users authorized to approve this expense. An empty array indicates no approval is required or the expense has already been approved.

attachmentsarray

Receipt images and supporting documents uploaded for this expense. Commonly used for compliance and approval workflows.

attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

attachments.idstring

Unique identifier of the attachment.

attendeesarray

Attendees associated with this expense, including internal employees and external guests.

attendees.externalboolean

Indicates whether the attendee is external to the organization.

attendees.namestring

Name of the attendee.

attendees.emailstring

Email address of the attendee. Present only when external is false.

billing_amountstring

Total amount charged to your account in billing currency, including any fees or currency conversion. This may differ from the original transaction amount.

billing_currencystring

Currency in which the billing amount is charged to your account. This is your account's primary currency, regardless of the original transaction currency.

card_idstring

Unique identifier of the Airwallex card used to make this purchase. Links the expense to the specific card and cardholder for tracking and reporting.

card_transactionobject

Details of the original card transaction associated with an expense, including the authorization status, amount, and currency.

card_transaction.amountstring

Amount of the original card transaction in the transaction currency.

card_transaction.currencystring

Currency of the original card transaction, as an ISO 4217 currency code.

card_transaction.statusstring

Transaction status. Possible value are AUTHORIZED, CLEARED, DECLINED, REVERSED.

commentsarray

Conversation thread and notes about this expense, typically used for approval workflows and clarifications between cardholders and approvers.

comments.contentstring

Text body of the comment.

comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

created_atstring

Timestamp for when the resource was created in ISO8601 format.

descriptionstring

Optional description or memo providing additional context about the expense. Often includes the business purpose or additional details about the purchase.

idstring

Unique identifier of the expense.

legal_entity_idstring

Unique identifier of the business entity associated with this expense. Used for accounting segregation and compliance reporting across different business entities.

line_itemsarray

Breakdown of the expense into detailed line items with individual accounting categories. The sum of all line item amounts should equal the total expense amount.

line_items.accounting_field_selectionsarray

Accounting and categorization fields assigned to this specific line item. Allows for different accounting treatment of individual components within a single expense.

line_items.accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

line_items.accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

line_items.accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

line_items.accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

line_items.accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

line_items.idstring

Unique identifier of the expense line item.

line_items.descriptionstring

Optional description providing details about this specific line item. Helps explain what this component of the expense represents for accounting and approval purposes.

line_items.transaction_amountstring

Amount of this line item in the transaction currency, including all taxes. Represents the actual expense amount for this specific component of the overall expense.

merchantstring

Name of the business or merchant where the purchase was made, as reported by the payment network. Null for some transaction types.

settled_atstring

Timestamp when the transaction was settled, in ISO8601 format. Null if transaction is still pending settlement.

statusstring

Current approval status of the expense. Possible values: DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED. Additional values may appear; implementations should handle unknown values gracefully.

DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED, DELETED

sync_statusstring

Expense sync status. Possible values are NOT_SYNCED, READY_TO_SYNC, SYNCED, SYNC_FAILED.

updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

GET /api/v1/spend/expenses/{id}
$curl --request GET \
> --url 'https://api.airwallex.com/api/v1/spend/expenses/expense_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "id": "ba46f0ff-8081-4db6-8333-4e011fe9561d",
3 "account_id": "acct_a2y0pxz3m4k5hoZldn97hjzp",
4 "legal_entity_id": "le_U3jlHqQRNHWn2zAKeeT8sg",
5 "card_id": "93eed14b-104d-4f40-ae1d-3633c6538276",
6 "status": "AWAITING_APPROVAL",
7 "card_transaction": {
8 "status": "CLEARED",
9 "amount": "105.50",
10 "currency": "USD"
11 },
12 "sync_status": "SYNCED",
13 "billing_currency": "USD",
14 "billing_amount": "105.5",
15 "description": "Client dinner at restaurant for Q4 planning meeting",
16 "merchant": "Starbucks Coffee #1234",
17 "approvers": [
20 ],
21 "created_at": "2025-01-01T00:00:00Z",
22 "updated_at": "2025-02-02T00:00:00Z",
23 "settled_at": "2025-03-03T10:15:30Z",
24 "accounting_field_selections": [
25 {
26 "type": "GENERAL_LEDGER_ACCOUNT",
27 "name": "Expense Account",
28 "external_id": "c9fcfdee-f943-45c9-abaa-45df1601ae04",
29 "value": "Travel & Entertainment",
30 "value_label": "Travel & Entertainment"
31 }
32 ],
33 "attachments": [
34 {
35 "id": "0fd62109-cfc0-4c94-86a5-d01c42506b76",
36 "content_type": "image/jpeg",
37 "file_name": "receipt.jpg",
38 "file_url": "https://files.airwallex.com/receipt.jpg",
39 "created_at": "2024-12-16T09:22:00Z"
40 }
41 ],
42 "line_items": [
43 {
44 "id": "a12fca5e-4aeb-4adb-85b0-428b4f078aba",
45 "transaction_amount": "105.50",
46 "description": "Business meal with client",
47 "accounting_field_selections": []
48 }
49 ],
50 "comments": [
51 {
52 "content": "Expense approved - valid business purpose confirmed",
53 "created_by": "[email protected]",
54 "created_at": "2025-01-01T00:00:00Z"
55 }
56 ]
57}
Was this section helpful?

Update expense sync status

POST /api/v1/spend/expenses/{id}/sync

Updates the sync status of an existing expense.

Parameters
idrequiredstring

Unique identifier of the expense.

Request body
sync_statusrequiredstring

Expense sync status. Possible values are NOT_SYNCED, READY_TO_SYNC, SYNCED, SYNC_FAILED.

Response body - 200 OK
account_idstring

Unique identifier of the Airwallex account that owns this expense. This determines which account the expense amount is debited from.

accounting_field_selectionsarray

Accounting categories and custom fields assigned to this expense for reporting and categorization in your accounting system.

accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

approversarray

Email addresses of users authorized to approve this expense. An empty array indicates no approval is required or the expense has already been approved.

attachmentsarray

Receipt images and supporting documents uploaded for this expense. Commonly used for compliance and approval workflows.

attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

attachments.idstring

Unique identifier of the attachment.

attendeesarray

Attendees associated with this expense, including internal employees and external guests.

attendees.externalboolean

Indicates whether the attendee is external to the organization.

attendees.namestring

Name of the attendee.

attendees.emailstring

Email address of the attendee. Present only when external is false.

billing_amountstring

Total amount charged to your account in billing currency, including any fees or currency conversion. This may differ from the original transaction amount.

billing_currencystring

Currency in which the billing amount is charged to your account. This is your account's primary currency, regardless of the original transaction currency.

card_idstring

Unique identifier of the Airwallex card used to make this purchase. Links the expense to the specific card and cardholder for tracking and reporting.

card_transactionobject

Details of the original card transaction associated with an expense, including the authorization status, amount, and currency.

card_transaction.amountstring

Amount of the original card transaction in the transaction currency.

card_transaction.currencystring

Currency of the original card transaction, as an ISO 4217 currency code.

card_transaction.statusstring

Transaction status. Possible value are AUTHORIZED, CLEARED, DECLINED, REVERSED.

commentsarray

Conversation thread and notes about this expense, typically used for approval workflows and clarifications between cardholders and approvers.

comments.contentstring

Text body of the comment.

comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

created_atstring

Timestamp for when the resource was created in ISO8601 format.

descriptionstring

Optional description or memo providing additional context about the expense. Often includes the business purpose or additional details about the purchase.

idstring

Unique identifier of the expense.

legal_entity_idstring

Unique identifier of the business entity associated with this expense. Used for accounting segregation and compliance reporting across different business entities.

line_itemsarray

Breakdown of the expense into detailed line items with individual accounting categories. The sum of all line item amounts should equal the total expense amount.

line_items.accounting_field_selectionsarray

Accounting and categorization fields assigned to this specific line item. Allows for different accounting treatment of individual components within a single expense.

line_items.accounting_field_selections.typestring

Type of accounting field. Possible values are SUBSIDIARY, MERCHANT, GENERAL_LEDGER_ACCOUNT, TAX_CODE, CLASS, DEPARTMENT, LOCATION, PROJECT, OTHER.

line_items.accounting_field_selections.valuestring

Name of the accounting field value in the ERP.

line_items.accounting_field_selections.external_idstring

External unique identifier of the accounting field value in the ERP.

line_items.accounting_field_selections.namestring

Name of the accounting field in the ERP software. This field is populated only when type is set to OTHER.

line_items.accounting_field_selections.value_labelstring

Name of the accounting field value displayed in Airwallex.

line_items.idstring

Unique identifier of the expense line item.

line_items.descriptionstring

Optional description providing details about this specific line item. Helps explain what this component of the expense represents for accounting and approval purposes.

line_items.transaction_amountstring

Amount of this line item in the transaction currency, including all taxes. Represents the actual expense amount for this specific component of the overall expense.

merchantstring

Name of the business or merchant where the purchase was made, as reported by the payment network. Null for some transaction types.

settled_atstring

Timestamp when the transaction was settled, in ISO8601 format. Null if transaction is still pending settlement.

statusstring

Current approval status of the expense. Possible values: DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED. Additional values may appear; implementations should handle unknown values gracefully.

DRAFT, AWAITING_APPROVAL, REJECTED, APPROVED, ARCHIVED, DELETED

sync_statusstring

Expense sync status. Possible values are NOT_SYNCED, READY_TO_SYNC, SYNCED, SYNC_FAILED.

updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

POST /api/v1/spend/expenses/{id}/sync
$curl --request POST \
> --url 'https://api.airwallex.com/api/v1/spend/expenses/expense_id/sync' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "sync_status": "SYNCED"
>}'
Response (200 OK)
1{
2 "id": "ba46f0ff-8081-4db6-8333-4e011fe9561d",
3 "account_id": "acct_a2y0pxz3m4k5hoZldn97hjzp",
4 "legal_entity_id": "le_U3jlHqQRNHWn2zAKeeT8sg",
5 "card_id": "93eed14b-104d-4f40-ae1d-3633c6538276",
6 "status": "AWAITING_APPROVAL",
7 "card_transaction": {
8 "status": "CLEARED",
9 "amount": "105.50",
10 "currency": "USD"
11 },
12 "sync_status": "SYNCED",
13 "billing_currency": "USD",
14 "billing_amount": "105.5",
15 "description": "Client dinner at restaurant for Q4 planning meeting",
16 "merchant": "Starbucks Coffee #1234",
17 "approvers": [
20 ],
21 "created_at": "2025-01-01T00:00:00Z",
22 "updated_at": "2025-02-02T00:00:00Z",
23 "settled_at": "2025-03-03T10:15:30Z",
24 "accounting_field_selections": [
25 {
26 "type": "GENERAL_LEDGER_ACCOUNT",
27 "name": "Expense Account",
28 "external_id": "c9fcfdee-f943-45c9-abaa-45df1601ae04",
29 "value": "Travel & Entertainment",
30 "value_label": "Travel & Entertainment"
31 }
32 ],
33 "attachments": [
34 {
35 "id": "0fd62109-cfc0-4c94-86a5-d01c42506b76",
36 "content_type": "image/jpeg",
37 "file_name": "receipt.jpg",
38 "file_url": "https://files.airwallex.com/receipt.jpg",
39 "created_at": "2024-12-16T09:22:00Z"
40 }
41 ],
42 "line_items": [
43 {
44 "id": "a12fca5e-4aeb-4adb-85b0-428b4f078aba",
45 "transaction_amount": "105.50",
46 "description": "Business meal with client",
47 "accounting_field_selections": []
48 }
49 ],
50 "comments": [
51 {
52 "content": "Expense approved - valid business purpose confirmed",
53 "created_by": "[email protected]",
54 "created_at": "2025-01-01T00:00:00Z"
55 }
56 ]
57}
Was this section helpful?