openapi: 3.1.0 info: title: Accounting subpackage_invoices API version: 1.0.0 servers: - url: https://api.merge.dev/api - url: https://api-eu.merge.dev/api - url: https://api-ap.merge.dev/api tags: - name: subpackage_invoices paths: /accounting/v1/invoices: get: operationId: list summary: List description: Returns a list of `Invoice` objects.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: company_id in: query description: If provided, will only return invoices for this company. required: false schema: type: string - name: contact_id in: query description: If provided, will only return invoices for this contact. required: false schema: type: string - name: created_after in: query description: If provided, will only return objects created after this datetime. required: false schema: type: string format: date-time - name: created_before in: query description: If provided, will only return objects created before this datetime. required: false schema: type: string format: date-time - name: cursor in: query description: The pagination cursor value. required: false schema: type: string - name: expand in: query description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. required: false schema: type: array items: $ref: '#/components/schemas/InvoicesGetParametersExpandSchemaItems' - name: include_deleted_data in: query description: 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](https://docs.merge.dev/integrations/hris/supported-features/). required: false schema: type: boolean - name: include_remote_data in: query description: Whether to include the original data Merge fetched from the third-party to produce these models. required: false schema: type: boolean - name: include_remote_fields in: query description: Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. required: false schema: type: boolean - name: include_shell_data in: query description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). required: false schema: type: boolean - name: issue_date_after in: query description: If provided, will only return objects created after this datetime. required: false schema: type: string format: date-time - name: issue_date_before in: query description: If provided, will only return objects created before this datetime. required: false schema: type: string format: date-time - name: modified_after in: query description: If provided, only objects synced by Merge after this date time will be returned. required: false schema: type: string format: date-time - name: modified_before in: query description: If provided, only objects synced by Merge before this date time will be returned. required: false schema: type: string format: date-time - name: number in: query description: If provided, will only return Invoices with this number. required: false schema: type: string - name: page_size in: query description: Number of results to return per page. The maximum limit is 100. required: false schema: type: integer - name: remote_fields in: query description: Deprecated. Use show_enum_origins. required: false schema: $ref: '#/components/schemas/InvoicesGetParametersRemoteFields' - name: remote_id in: query description: The API provider's ID for the given object. required: false schema: type: string - name: show_enum_origins in: query description: A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) required: false schema: $ref: '#/components/schemas/InvoicesGetParametersShowEnumOrigins' - name: status in: query description: 'If provided, will only return Invoices with this status. ' required: false schema: $ref: '#/components/schemas/InvoicesGetParametersStatus' - name: type in: query description: 'If provided, will only return Invoices with this type. ' required: false schema: $ref: '#/components/schemas/InvoicesGetParametersType' - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginatedInvoiceList' post: operationId: create summary: Create description: "Creates an `Invoice` object with the given values.\n Including a `PurchaseOrder` id in the `purchase_orders` property will generate an Accounts Payable Invoice from the specified Purchase Order(s).\n {/* BEGIN_ACCOUNTING_INVOICE_CREATE_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_CREATE_SUPPORTED_FIELDS */}" tags: - subpackage_invoices parameters: - name: is_debug_mode in: query description: Whether to include debug fields (such as log file links) in the response. required: false schema: type: boolean - name: run_async in: query description: Whether or not third-party updates should be run asynchronously. required: false schema: type: boolean - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/InvoiceResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceEndpointRequest' /accounting/v1/invoices/{id}: get: operationId: retrieve summary: Retrieve description: Returns an `Invoice` object with the given `id`.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: id in: path required: true schema: type: string format: uuid - name: expand in: query description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. required: false schema: type: array items: $ref: '#/components/schemas/InvoicesIdGetParametersExpandSchemaItems' - name: include_remote_data in: query description: Whether to include the original data Merge fetched from the third-party to produce these models. required: false schema: type: boolean - name: include_remote_fields in: query description: Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format. required: false schema: type: boolean - name: include_shell_data in: query description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). required: false schema: type: boolean - name: remote_fields in: query description: Deprecated. Use show_enum_origins. required: false schema: $ref: '#/components/schemas/InvoicesIdGetParametersRemoteFields' - name: show_enum_origins in: query description: A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter) required: false schema: $ref: '#/components/schemas/InvoicesIdGetParametersShowEnumOrigins' - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Invoice' patch: operationId: partial-update summary: Partial Update description: Updates an `Invoice` object with the given `id`.{/* BEGIN_ACCOUNTING_INVOICE_EDIT_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_EDIT_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: id in: path required: true schema: type: string format: uuid - name: is_debug_mode in: query description: Whether to include debug fields (such as log file links) in the response. required: false schema: type: boolean - name: run_async in: query description: Whether or not third-party updates should be run asynchronously. required: false schema: type: boolean - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/InvoiceResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedInvoiceEndpointRequest' /accounting/v1/invoices/line-items/remote-field-classes: get: operationId: line-items-remote-field-classes-list summary: Line Items Remote Field Classes List description: Returns a list of `RemoteFieldClass` objects.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: cursor in: query description: The pagination cursor value. required: false schema: type: string - name: include_deleted_data in: query description: 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](https://docs.merge.dev/integrations/hris/supported-features/). required: false schema: type: boolean - name: include_remote_data in: query description: Whether to include the original data Merge fetched from the third-party to produce these models. required: false schema: type: boolean - name: include_shell_data in: query description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). required: false schema: type: boolean - name: is_common_model_field in: query description: If provided, will only return remote field classes with this is_common_model_field value required: false schema: type: boolean - name: is_custom in: query description: If provided, will only return remote fields classes with this is_custom value required: false schema: type: boolean - name: page_size in: query description: Number of results to return per page. The maximum limit is 100. required: false schema: type: integer - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginatedRemoteFieldClassList' /accounting/v1/invoices/meta/patch/{id}: get: operationId: meta-patch-retrieve summary: Meta Patch Retrieve description: Returns metadata for `Invoice` PATCHs.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: id in: path required: true schema: type: string format: uuid - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MetaResponse' /accounting/v1/invoices/meta/post: get: operationId: meta-post-retrieve summary: Meta Post Retrieve description: Returns metadata for `Invoice` POSTs.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MetaResponse' /accounting/v1/invoices/remote-field-classes: get: operationId: remote-field-classes-list summary: Remote Field Classes List description: Returns a list of `RemoteFieldClass` objects.{/* BEGIN_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: cursor in: query description: The pagination cursor value. required: false schema: type: string - name: include_deleted_data in: query description: 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](https://docs.merge.dev/integrations/hris/supported-features/). required: false schema: type: boolean - name: include_remote_data in: query description: Whether to include the original data Merge fetched from the third-party to produce these models. required: false schema: type: boolean - name: include_shell_data in: query description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). required: false schema: type: boolean - name: is_common_model_field in: query description: If provided, will only return remote field classes with this is_common_model_field value required: false schema: type: boolean - name: is_custom in: query description: If provided, will only return remote fields classes with this is_custom value required: false schema: type: boolean - name: page_size in: query description: Number of results to return per page. The maximum limit is 100. required: false schema: type: integer - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginatedRemoteFieldClassList' /accounting/v1/invoices/bulk: post: operationId: async-bulk-create summary: Async Bulk Create description: Creates multiple `Invoice` objects with the given values.{/* BEGIN_ACCOUNTING_INVOICE_BULK_CREATE_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_BULK_CREATE_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/AsyncBulkCreateResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceBulkRequest' /accounting/v1/invoices/bulk/{batch_id}: get: operationId: batch-objects-list summary: Batch Objects List description: Returns the status and results of an `Invoice` bulk create batch.{/* BEGIN_ACCOUNTING_INVOICE_BULK_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_INVOICE_BULK_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_invoices parameters: - name: batch_id in: path required: true schema: type: string format: uuid - name: Authorization in: header description: Token-based authentication with required prefix "Bearer" required: true schema: type: string - name: X-Account-Token in: header description: Token identifying the end user. required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/BatchObjectsResponse' components: schemas: InvoiceStatusEnum: type: string enum: - PAID - DRAFT - SUBMITTED - PARTIALLY_PAID - OPEN - VOID title: InvoiceStatusEnum InvoiceLineItemFieldMappings: type: object properties: organization_defined_targets: type: object additionalProperties: description: Any type linked_account_defined_targets: type: object additionalProperties: description: Any type title: InvoiceLineItemFieldMappings ErrorValidationProblem: type: object properties: source: $ref: '#/components/schemas/ValidationProblemSource' title: type: string detail: type: string problem_type: type: string block_merge_link: type: boolean raw_error: type: string error_code: type: integer required: - title - detail - problem_type title: ErrorValidationProblem InvoicesIdGetParametersShowEnumOrigins: type: string enum: - type title: InvoicesIdGetParametersShowEnumOrigins RemoteFieldRequest: type: object properties: remote_field_class: type: string format: uuid value: type: object additionalProperties: description: Any type required: - remote_field_class title: RemoteFieldRequest PatchedInvoiceEndpointRequest: type: object properties: model: $ref: '#/components/schemas/InvoiceRequest' required: - model title: PatchedInvoiceEndpointRequest BatchObjectsResponse: type: object properties: batch_id: type: string format: uuid description: The ID of the batch. status: $ref: '#/components/schemas/BatchObjectsResponseStatusEnum' description: 'Possible overall statuses: * `ENQUEUED` - The request has been received and a task has been enqueued for processing * `IN_PROGRESS` - The enqueued task is being processed * `PARTIAL_SUCCESS` - The task has been processed, but not all objects were written successfully * `SUCCESS` - The task has been processed, and all objects were written successfully * `FAILED` - The task has been processed, but ran into an error while processing * `RATE_LIMITED` - The request was received but ran into rate limits while processing. The rate limited objects are being retried.' total_count: type: integer description: The total number of objects in the batch. objects: type: array items: $ref: '#/components/schemas/BatchObject' required: - batch_id - status - total_count - objects description: Response serializer for GET bulk/{batch_id} - returns batch status and objects title: BatchObjectsResponse ItemTypeEnum: type: string enum: - string - number - date - datetime - bool - list title: ItemTypeEnum ItemFormatEnum: type: string enum: - string - number - date - datetime - bool - list title: ItemFormatEnum Invoice: type: object properties: id: type: string format: uuid remote_id: type: - string - 'null' description: The third-party API ID of the matching object. created_at: type: string format: date-time description: The datetime that this object was created by Merge. modified_at: type: string format: date-time description: The datetime that this object was modified by Merge. type: oneOf: - $ref: '#/components/schemas/InvoiceTypeEnum' - type: 'null' description: Whether the invoice is an accounts receivable or accounts payable. If `type` is `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`, it is an invoice. contact: type: - string - 'null' format: uuid description: The invoice's contact. number: type: - string - 'null' description: The invoice's number. issue_date: type: - string - 'null' format: date-time description: The invoice's issue date. due_date: type: - string - 'null' format: date-time description: The invoice's due date. paid_on_date: type: - string - 'null' format: date-time description: The invoice's paid date. memo: type: - string - 'null' description: The invoice's private note. company: type: - string - 'null' format: uuid description: The company the invoice belongs to. employee: type: - string - 'null' format: uuid description: The employee this overall transaction relates to. currency: oneOf: - $ref: '#/components/schemas/TransactionCurrencyEnum' - type: 'null' description: The invoice's currency. The currency code in ISO 4217 format. exchange_rate: type: - string - 'null' format: decimal description: The invoice's exchange rate. payment_term: type: - string - 'null' format: uuid description: The payment term that applies to this transaction. total_discount: type: - number - 'null' format: double description: The total discounts applied to the total cost. sub_total: type: - number - 'null' format: double description: The total amount being paid before taxes. status: oneOf: - $ref: '#/components/schemas/InvoiceStatusEnum' - type: 'null' description: The status of the invoice. total_tax_amount: type: - number - 'null' format: double description: The total amount being paid in taxes. total_amount: type: - number - 'null' format: double description: The invoice's total amount. balance: type: - number - 'null' format: double description: The invoice's remaining balance. remote_updated_at: type: - string - 'null' format: date-time description: When the third party's invoice entry was updated. tracking_categories: type: array items: type: string format: uuid accounting_period: type: - string - 'null' format: uuid description: The accounting period that the Invoice was generated in. purchase_orders: type: array items: type: string format: uuid sales_orders: type: array items: type: string format: uuid payments: type: array items: type: string format: uuid description: Array of `Payment` object IDs. applied_payments: type: array items: type: string format: uuid description: A list of the Payment Applied to Lines common models related to a given Invoice, Credit Note, or Journal Entry. line_items: type: array items: $ref: '#/components/schemas/InvoiceLineItem' applied_credit_notes: type: array items: $ref: '#/components/schemas/CreditNoteApplyLineForInvoice' description: '`CreditNoteApplyLines` applied to the Invoice.' applied_vendor_credits: type: array items: $ref: '#/components/schemas/VendorCreditApplyLineForInvoice' description: '`VendorCreditApplyLines` applied to the Invoice.' inclusive_of_tax: type: - boolean - 'null' description: If the transaction is inclusive or exclusive of tax. `True` if inclusive, `False` if exclusive. remote_was_deleted: type: boolean description: 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](https://docs.merge.dev/integrations/hris/supported-features/). field_mappings: oneOf: - $ref: '#/components/schemas/InvoiceFieldMappings' - type: 'null' remote_data: type: - array - 'null' items: $ref: '#/components/schemas/RemoteData' remote_fields: type: array items: $ref: '#/components/schemas/RemoteField' description: '# The Invoice Object ### Description The `Invoice` object represents an itemized record of goods and/or services sold to a customer or bought from a vendor. Represents a Bill when the `Invoice` type is `ACCOUNTS_PAYABLE`. References an Invoice when the `Invoice` type is `ACCOUNTS_RECEIVABLE`. ### Usage Example Fetch from the `LIST Invoices` endpoint and view a company''s invoices.' title: Invoice InvoiceEndpointRequest: type: object properties: model: $ref: '#/components/schemas/InvoiceRequest' required: - model title: InvoiceEndpointRequest InvoicesGetParametersStatus: type: string enum: - DRAFT - OPEN - PAID - PARTIALLY_PAID - SUBMITTED - VOID title: InvoicesGetParametersStatus InvoicesIdGetParametersRemoteFields: type: string enum: - type title: InvoicesIdGetParametersRemoteFields InvoiceFieldMappings: type: object properties: organization_defined_targets: type: object additionalProperties: description: Any type linked_account_defined_targets: type: object additionalProperties: description: Any type title: InvoiceFieldMappings InvoiceBatchItemRequest: type: object properties: item_id: type: string description: The third-party item ID for this model in the bulk create request payload: $ref: '#/components/schemas/InvoiceRequest' required: - item_id - payload title: InvoiceBatchItemRequest InvoicesGetParametersShowEnumOrigins: type: string enum: - type title: InvoicesGetParametersShowEnumOrigins VendorCreditApplyLineForInvoice: type: object properties: remote_id: type: - string - 'null' description: The third-party API ID of the matching object. created_at: type: string format: date-time description: The datetime that this object was created by Merge. modified_at: type: string format: date-time description: The datetime that this object was modified by Merge. vendor_credit: type: - string - 'null' format: uuid applied_date: type: - string - 'null' format: date-time description: Date that the vendor credit is applied to the invoice. applied_amount: type: - string - 'null' format: decimal description: The amount of the VendorCredit applied to the invoice. remote_was_deleted: type: boolean description: 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](https://docs.merge.dev/integrations/hris/supported-features/). description: '# The VendorCreditApplyLine Object ### Description The `VendorCreditApplyLine` object is used to represent a applied vendor credit. ### Usage Example Fetch from the `GET VendorCredit` endpoint and view the vendor credit''s applied to lines.' title: VendorCreditApplyLineForInvoice BatchObjectItemResponse: type: object properties: merge_common_model_id: type: string format: uuid error_message: type: string description: Response for individual items within a batch title: BatchObjectItemResponse WarningValidationProblem: type: object properties: source: $ref: '#/components/schemas/ValidationProblemSource' title: type: string detail: type: string problem_type: type: string block_merge_link: type: boolean raw_error: type: string error_code: type: integer required: - title - detail - problem_type title: WarningValidationProblem AsyncBulkCreateResponse: type: object properties: batch_id: type: string format: uuid description: The ID of the batch. required: - batch_id description: Response serializer for POST bulk create - returns only batch_id title: AsyncBulkCreateResponse InvoicesGetParametersExpandSchemaItems: type: string enum: - accounting_period - applied_credit_notes - applied_payments - applied_vendor_credits - company - contact - employee - line_items - payment_term - payments - purchase_orders - sales_orders - tracking_categories title: InvoicesGetParametersExpandSchemaItems InvoiceLineItemRequest: type: object properties: remote_id: type: - string - 'null' description: The third-party API ID of the matching object. description: type: - string - 'null' description: The line item's description. unit_price: type: - number - 'null' format: double description: The line item's unit price. quantity: type: - number - 'null' format: double description: The line item's quantity. total_amount: type: - number - 'null' format: double description: The line item's total amount. employee: type: - string - 'null' format: uuid description: The employee this overall transaction relates to. project: type: - string - 'null' format: uuid contact: type: - string - 'null' format: uuid description: The invoice's contact. currency: oneOf: - $ref: '#/components/schemas/TransactionCurrencyEnum' - type: 'null' description: The line item's currency. The currency code in ISO 4217 format. exchange_rate: type: - string - 'null' format: decimal description: The line item's exchange rate. item: type: - string - 'null' format: uuid account: type: - string - 'null' format: uuid tax_rate: type: - string - 'null' format: uuid description: The tax rate that applies to this line item. tracking_category: type: - string - 'null' format: uuid tracking_categories: type: array items: type: string format: uuid description: The invoice line item's associated tracking categories. company: type: - string - 'null' format: uuid description: The company the invoice belongs to. is_billable: type: - boolean - 'null' description: Indicates if the line item can be charged to the client/customer. integration_params: type: - object - 'null' additionalProperties: description: Any type linked_account_params: type: - object - 'null' additionalProperties: description: Any type remote_fields: type: array items: $ref: '#/components/schemas/RemoteFieldRequest' description: '# The InvoiceLineItem Object ### Description The `InvoiceLineItem` object represents an itemized record of goods and/or services sold to a customer. ### Usage Example Fetch from the `GET Invoice` endpoint and view the invoice''s line items.' title: InvoiceLineItemRequest DebugModeLog: type: object properties: log_id: type: string dashboard_view: type: string log_summary: $ref: '#/components/schemas/DebugModelLogSummary' required: - log_id - dashboard_view - log_summary title: DebugModeLog BatchObject: type: object properties: item_id: type: string status: $ref: '#/components/schemas/BatchObjectStatusEnum' description: 'Possible per-object statuses: * `PENDING` - This object has not been processed yet * `SUCCESS` - This object was successfully POSTed * `FAILURE` - This object was not successfully POSTed' response: $ref: '#/components/schemas/BatchObjectItemResponse' required: - item_id - status description: Individual batch object with status title: BatchObject MetaResponse: type: object properties: request_schema: type: object additionalProperties: description: Any type status: $ref: '#/components/schemas/LinkedAccountStatus' has_conditional_params: type: boolean has_required_linked_account_params: type: boolean remote_fields: type: array items: type: string format: uuid description: Remote field values to populate required: - request_schema - has_conditional_params - has_required_linked_account_params title: MetaResponse PaginatedRemoteFieldClassList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/RemoteFieldClass' title: PaginatedRemoteFieldClassList InvoicesGetParametersType: type: string enum: - ACCOUNTS_PAYABLE - ACCOUNTS_RECEIVABLE title: InvoicesGetParametersType BatchObjectStatusEnum: type: string enum: - PENDING - SUCCESS - FAILURE title: BatchObjectStatusEnum PaginatedInvoiceList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/Invoice' title: PaginatedInvoiceList ItemSchema: type: object properties: item_type: $ref: '#/components/schemas/ItemTypeEnum' item_format: $ref: '#/components/schemas/ItemFormatEnum' item_choices: type: array items: type: string title: ItemSchema InvoiceLineItem: type: object properties: id: type: string format: uuid remote_id: type: - string - 'null' description: The third-party API ID of the matching object. created_at: type: string format: date-time description: The datetime that this object was created by Merge. modified_at: type: string format: date-time description: The datetime that this object was modified by Merge. description: type: - string - 'null' description: The line item's description. unit_price: type: - number - 'null' format: double description: The line item's unit price. quantity: type: - number - 'null' format: double description: The line item's quantity. total_amount: type: - number - 'null' format: double description: The line item's total amount. employee: type: - string - 'null' format: uuid description: The employee this overall transaction relates to. project: type: - string - 'null' format: uuid contact: type: - string - 'null' format: uuid description: The invoice's contact. currency: oneOf: - $ref: '#/components/schemas/TransactionCurrencyEnum' - type: 'null' description: The line item's currency. The currency code in ISO 4217 format. exchange_rate: type: - string - 'null' format: decimal description: The line item's exchange rate. item: type: - string - 'null' format: uuid account: type: - string - 'null' format: uuid tax_rate: type: - string - 'null' format: uuid description: The tax rate that applies to this line item. tracking_category: type: - string - 'null' format: uuid tracking_categories: type: array items: type: string format: uuid description: The invoice line item's associated tracking categories. company: type: - string - 'null' format: uuid description: The company the invoice belongs to. remote_was_deleted: type: boolean description: 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](https://docs.merge.dev/integrations/hris/supported-features/). is_billable: type: - boolean - 'null' description: Indicates if the line item can be charged to the client/customer. field_mappings: oneOf: - $ref: '#/components/schemas/InvoiceLineItemFieldMappings' - type: 'null' remote_fields: type: array items: $ref: '#/components/schemas/RemoteField' description: '# The InvoiceLineItem Object ### Description The `InvoiceLineItem` object represents an itemized record of goods and/or services sold to a customer. ### Usage Example Fetch from the `GET Invoice` endpoint and view the invoice''s line items.' title: InvoiceLineItem RemoteData: type: object properties: path: type: string description: The third-party API path that is being called. data: description: The data returned from the third-party for this object in its original, unnormalized format. required: - path description: '# The RemoteData Object ### Description The `RemoteData` object is used to represent the full data pulled from the third-party API for an object. ### Usage Example TODO' title: RemoteData ValidationProblemSource: type: object properties: pointer: type: string required: - pointer title: ValidationProblemSource RemoteField: type: object properties: remote_field_class: $ref: '#/components/schemas/RemoteFieldClass' value: type: object additionalProperties: description: Any type required: - remote_field_class title: RemoteField RemoteFieldClass: type: object properties: id: type: string display_name: type: string remote_key_name: type: string description: type: string is_custom: type: boolean is_common_model_field: type: boolean is_required: type: boolean field_type: $ref: '#/components/schemas/FieldTypeEnum' field_format: $ref: '#/components/schemas/FieldFormatEnum' field_choices: type: array items: type: string item_schema: $ref: '#/components/schemas/ItemSchema' title: RemoteFieldClass CreditNoteApplyLineForInvoice: type: object properties: remote_id: type: - string - 'null' description: The third-party API ID of the matching object. created_at: type: string format: date-time description: The datetime that this object was created by Merge. modified_at: type: string format: date-time description: The datetime that this object was modified by Merge. credit_note: type: - string - 'null' format: uuid applied_date: type: - string - 'null' format: date-time description: Date that the credit note is applied to the invoice. applied_amount: type: - string - 'null' format: decimal description: The amount of the Credit Note applied to the invoice. remote_was_deleted: type: boolean description: 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](https://docs.merge.dev/integrations/hris/supported-features/). description: '# The CreditNoteApplyLine Object ### Description The `CreditNoteApplyLine` is attached to the CreditNote model. ### Usage Example Fetch from the `GET CreditNote` endpoint and view the invoice''s applied to lines.' title: CreditNoteApplyLineForInvoice BatchObjectsResponseStatusEnum: type: string enum: - ENQUEUED - IN_PROGRESS - PARTIAL_SUCCESS - SUCCESS - FAILED - RATE_LIMITED title: BatchObjectsResponseStatusEnum FieldFormatEnum: type: string enum: - string - number - date - datetime - bool - list title: FieldFormatEnum InvoiceTypeEnum: type: string enum: - ACCOUNTS_RECEIVABLE - ACCOUNTS_PAYABLE title: InvoiceTypeEnum InvoiceBulkRequest: type: object properties: batch_items: type: array items: $ref: '#/components/schemas/InvoiceBatchItemRequest' required: - batch_items title: InvoiceBulkRequest InvoiceResponse: type: object properties: model: $ref: '#/components/schemas/Invoice' warnings: type: array items: $ref: '#/components/schemas/WarningValidationProblem' errors: type: array items: $ref: '#/components/schemas/ErrorValidationProblem' logs: type: array items: $ref: '#/components/schemas/DebugModeLog' required: - model - warnings - errors title: InvoiceResponse DebugModelLogSummary: type: object properties: url: type: string method: type: string status_code: type: integer required: - url - method - status_code title: DebugModelLogSummary TransactionCurrencyEnum: type: string enum: - 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 description: The currency code in ISO 4217 format. title: TransactionCurrencyEnum LinkedAccountStatus: type: object properties: linked_account_status: type: string can_make_request: type: boolean required: - linked_account_status - can_make_request title: LinkedAccountStatus InvoiceRequest: type: object properties: type: oneOf: - $ref: '#/components/schemas/InvoiceTypeEnum' - type: 'null' description: Whether the invoice is an accounts receivable or accounts payable. If `type` is `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`, it is an invoice. contact: type: - string - 'null' format: uuid description: The invoice's contact. number: type: - string - 'null' description: The invoice's number. issue_date: type: - string - 'null' format: date-time description: The invoice's issue date. due_date: type: - string - 'null' format: date-time description: The invoice's due date. paid_on_date: type: - string - 'null' format: date-time description: The invoice's paid date. employee: type: - string - 'null' format: uuid description: The employee this overall transaction relates to. memo: type: - string - 'null' description: The invoice's private note. status: oneOf: - $ref: '#/components/schemas/InvoiceStatusEnum' - type: 'null' description: The status of the invoice. company: type: - string - 'null' format: uuid description: The company the invoice belongs to. currency: oneOf: - $ref: '#/components/schemas/TransactionCurrencyEnum' - type: 'null' description: The invoice's currency. The currency code in ISO 4217 format. exchange_rate: type: - string - 'null' format: decimal description: The invoice's exchange rate. total_discount: type: - number - 'null' format: double description: The total discounts applied to the total cost. sub_total: type: - number - 'null' format: double description: The total amount being paid before taxes. payment_term: type: - string - 'null' format: uuid description: The payment term that applies to this transaction. total_tax_amount: type: - number - 'null' format: double description: The total amount being paid in taxes. inclusive_of_tax: type: - boolean - 'null' description: If the transaction is inclusive or exclusive of tax. `True` if inclusive, `False` if exclusive. total_amount: type: - number - 'null' format: double description: The invoice's total amount. balance: type: - number - 'null' format: double description: The invoice's remaining balance. payments: type: array items: type: string format: uuid description: Array of `Payment` object IDs. tracking_categories: type: array items: type: string format: uuid accounting_period: type: - string - 'null' format: uuid description: The accounting period that the Invoice was generated in. line_items: type: array items: $ref: '#/components/schemas/InvoiceLineItemRequest' purchase_orders: type: array items: type: string format: uuid integration_params: type: - object - 'null' additionalProperties: description: Any type linked_account_params: type: - object - 'null' additionalProperties: description: Any type remote_fields: type: array items: $ref: '#/components/schemas/RemoteFieldRequest' description: '# The Invoice Object ### Description The `Invoice` object represents an itemized record of goods and/or services sold to a customer or bought from a vendor. Represents a Bill when the `Invoice` type is `ACCOUNTS_PAYABLE`. References an Invoice when the `Invoice` type is `ACCOUNTS_RECEIVABLE`. ### Usage Example Fetch from the `LIST Invoices` endpoint and view a company''s invoices.' title: InvoiceRequest FieldTypeEnum: type: string enum: - string - number - date - datetime - bool - list title: FieldTypeEnum InvoicesIdGetParametersExpandSchemaItems: type: string enum: - accounting_period - applied_credit_notes - applied_payments - applied_vendor_credits - company - contact - employee - line_items - payment_term - payments - purchase_orders - sales_orders - tracking_categories title: InvoicesIdGetParametersExpandSchemaItems InvoicesGetParametersRemoteFields: type: string enum: - type title: InvoicesGetParametersRemoteFields securitySchemes: tokenAuth: type: http scheme: bearer description: Token-based authentication with required prefix "Bearer"