Expense Reports

The ExpenseReport object represents a collection of expenses submitted for review and reimbursement. It includes details about the submitter, status, amounts, and associated metadata.

Properties

tracking_categoriesArray
The related tracking categories associated with the expense report

idUUID

remote_idString
The third-party API ID of the matching object.

created_atDateTime (ISO 8601)
The datetime that this object was created by Merge.

modified_atDateTime (ISO 8601)
The datetime that this object was modified by Merge.

report_dateDateTime (ISO 8601)
The date of the expense report.

report_identifierString
Human-readable expense report identifier.

employeeUUID
Identifier for the employee who submitted or is associated with the expense report

statusEnum
Overall status of the expense report. One of DRAFT, SUBMITTED, APPROVED, REJECTED Possible values include: DRAFT, SUBMITTED, APPROVED, REJECTED. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

total_amountNumber
Total amount of the expense report

linesExpenseReportLine[]
The ExpenseReportLine object

The ExpenseReportLine object represents an individual line item within an expense report, containing details about a specific expense such as amount, description, and associated metadata.

Properties

tracking_categoriesArray
The related tracking categories associated with the expense report (Department, Location, Class, Expense Category)

idUUID

remote_idString
The third-party API ID of the matching object.

created_atDateTime (ISO 8601)
The datetime that this object was created by Merge.

modified_atDateTime (ISO 8601)
The datetime that this object was modified by Merge.

accountUUID

descriptionString
Description of the individual expense.

expense_dateDateTime (ISO 8601)
The date the individual expense was incurred.

amountNumber
The amount of the expense for the line item.

currencyEnum
Currency of the expense line (if different from the report currency). Possible values include: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

exchange_rateString
Exchange rate used if the line item is in a foreign currency.

is_billableBoolean
Whether the expense line is billable to a client or project.

employeeUUID
Identifier for the employee who submitted or is associated with the expense report

projectUUID

companyUUID
The subsidiary that the expense report is created in

contactUUID

quantityNumber
Quantity for the expense line (e.g., miles driven, items purchased).

unit_priceNumber
Price per unit for the expense line (if applicable).

non_reimbursableBoolean
Whether the expense line is non-reimbursable (e.g., paid via company card).

tax_amountNumber
Tax amount applicable for the line item.

inclusive_of_taxBoolean
Whether the amount is inclusive of tax.

tax_rateUUID

remote_was_deletedBoolean
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

remote_fieldsRemoteField[]

currencyEnum
Currency code for the expense report Possible values include: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

descriptionString
A brief description or purpose for the expense report

accounting_periodUUID
The accounting period the report was posted in

companyUUID
The subsidiary that the expense report is created in

remote_was_deletedBoolean
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

field_mappingsObject

remote_dataRemoteData[]
The RemoteData object
The RemoteData object is used to represent the full data pulled from the third-party API for an object.
Properties

pathString
The third-party API path that is being called.

dataAny
The data returned from the third-party for this object in its original, unnormalized format.

remote_fieldsRemoteField[]


GET
/expense-reports
Beta

https://api.merge.dev/api/accounting/v1/expense-reports

US
EU
APAC

Returns a list of ExpenseReport objects.


Query & path parameters

company_idString
Optional
If provided, will only return expense reports for this company.

created_afterDateTime (ISO 8601)
Optional
If provided, will only return objects created after this datetime.

created_beforeDateTime (ISO 8601)
Optional
If provided, will only return objects created before this datetime.

cursorString
Optional
The pagination cursor value.

expandString
Optional
Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_remote_fieldsBoolean
Optional
Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

modified_afterDateTime (ISO 8601)
Optional
If provided, only objects synced by Merge after this date time will be returned.

modified_beforeDateTime (ISO 8601)
Optional
If provided, only objects synced by Merge before this date time will be returned.

page_sizeInteger
Optional
Number of results to return per page.

remote_idString
Optional
The API provider's ID for the given object.

Field support by integration
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
Sage Intacct
Sage Intacct
Not seeing an integration that you're looking for?
POST
/expense-reports
Beta

https://api.merge.dev/api/accounting/v1/expense-reports

US
EU
APAC

Creates an ExpenseReport object with the given values. To run asynchronously, see our guide.


Query & path parameters

is_debug_modeBoolean
Optional
Whether to include debug fields (such as log file links) in the response.

run_asyncBoolean
Optional
Whether or not third-party updates should be run asynchronously.
Body parameters

modelObject
Required
Find available fields below under “Model Parameters”.
Model parameters
View app-specific writable fields under “Field support by platform” in this section.

report_dateDateTime (ISO 8601)
The date of the expense report.

report_identifierString
Human-readable expense report identifier.

employeeUUID
Identifier for the employee who submitted or is associated with the expense report Must pass in a valid Merge ID, which can be obtained from the id field in the Employee object.

statusEnum
Overall status of the expense report. One of DRAFT, SUBMITTED, APPROVED, REJECTED Must pass in one of the following choices: DRAFT, SUBMITTED, APPROVED, REJECTED.

total_amountNumber
Total amount of the expense report

currencyEnum
Currency code for the expense report Must pass in one of the following choices: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL.

descriptionString
A brief description or purpose for the expense report

accounting_periodUUID
The accounting period the report was posted in Must pass in a valid Merge ID, which can be obtained from the id field in the AccountingPeriod object.

companyUUID
The subsidiary that the expense report is created in Must pass in a valid Merge ID, which can be obtained from the id field in the CompanyInfo object.

tracking_categoriesArray
The related tracking categories associated with the expense report

integration_paramsObject

linked_account_paramsObject

remote_fieldsArray

Field support by integration
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
Not seeing an integration that you're looking for?
To include the correct model fields when making POST requests, use the GET /expense-reports/meta/post endpoint. Learn more in our /meta guide.
GET
/expense-reports/{expense_report_id}/lines
Beta

https://api.merge.dev/api/accounting/v1/expense-reports/{expense_report_id}/lines

US
EU
APAC

Returns a list of ExpenseReportLine objects that point to a ExpenseReport with the given id.


Query & path parameters

cursorString
Optional
The pagination cursor value.

expandString
Optional
Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.

expense_report_idUUID
Required

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_remote_fieldsBoolean
Optional
Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

page_sizeInteger
Optional
Number of results to return per page.

Field support by integration
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
Sage Intacct
Sage Intacct
Not seeing an integration that you're looking for?
GET
/expense-reports/{id}
Beta

https://api.merge.dev/api/accounting/v1/expense-reports/{id}

US
EU
APAC

Returns an ExpenseReport object with the given id.


Query & path parameters

expandString
Optional
Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.

idUUID
Required

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_remote_fieldsBoolean
Optional
Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

Field support by integration
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
Sage Intacct
Sage Intacct
Not seeing an integration that you're looking for?
GET
/expense-reports/lines/remote-field-classes
Beta

https://api.merge.dev/api/accounting/v1/expense-reports/lines/remote-field-classes

US
EU
APAC

Returns a list of RemoteFieldClass objects.


Query & path parameters

cursorString
Optional
The pagination cursor value.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

is_common_model_fieldBoolean
Optional
If provided, will only return remote field classes with this is_common_model_field value

is_customBoolean
Optional
If provided, will only return remote fields classes with this is_custom value

page_sizeInteger
Optional
Number of results to return per page.

GET
/expense-reports/meta/post
Beta

https://api.merge.dev/api/accounting/v1/expense-reports/meta/post

US
EU
APAC

Returns metadata for ExpenseReport POSTs.


Field support by integration
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
Not seeing an integration that you're looking for?
GET
/expense-reports/remote-field-classes
Beta

https://api.merge.dev/api/accounting/v1/expense-reports/remote-field-classes

US
EU
APAC

Returns a list of RemoteFieldClass objects.


Query & path parameters

cursorString
Optional
The pagination cursor value.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

is_common_model_fieldBoolean
Optional
If provided, will only return remote field classes with this is_common_model_field value

is_customBoolean
Optional
If provided, will only return remote fields classes with this is_custom value

page_sizeInteger
Optional
Number of results to return per page.