---
title: "Create Contractor Invoice Schedules"
method: POST
path: "/v1/contractor-invoice-schedules"
tags: ["Invoice Schedules"]
---

# Create Contractor Invoice Schedules

`POST /v1/contractor-invoice-schedules`

Creates many invoice schedules records.
It's supposed to return two lists: one containing created records, and another one containing the schedules that failed to be inserted.


## Scopes

| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | - | Manage invoices (`invoices:write`) |

## Request body

- BulkContractorInvoiceScheduleCreateParams — Schema defining a bulk creation payload.
  - `contractor_invoice_schedules` ContractorInvoiceScheduleCreateParams[], required — List of invoice schedules payload.
    - `currency` string, nullable, required — Currency code of the SWIFT fee. Only present when processing_fee is set.
    - `employment_id` string, uuid, required — Employment identifier
    - `items` ContractorInvoiceScheduleItem[], required — List of invoice items that composes the overall invoice amount.
      - `amount` integer, required — Amount, in cents.
      - `description` string, required — Describes invoice item intent.
    - `note` string — Custom defined note.
    - `nr_occurrences` integer — Count of invoices that should be generated during schedule lifetime.
    - `number` string — Invoice identifier.
    - `periodicity` 'bi_weekly' | 'monthly' | 'semi_monthly' | 'weekly', required — Defines how often contractor invoices will be generated. - `bi_weekly`: Invoices will be generated every other week, on the given day of the week based on the start date. - `monthly`: Invoices will be generated once a month. - `semi_monthly`: Invoices will be generated at fixed dates twice a month (with 14 days of difference between each other), depending on the start date. In months with just 30 days, if `start_date` is set to the 31st day, then generation occurs in the last of day of the month. - `weekly`: Invoices will be generated each week.
    - `start_date` string, date, required — Date of the first contractor invoice generation.

## Response `201`

All entries have been created

- object — Response containing the lists of succeeded and failed schedules.
  - `data` object, required
    - `failures` ContractorInvoiceScheduleCreateResponseFailure[], required
      - `currency` string, nullable, required — Currency code of the SWIFT fee. Only present when processing_fee is set.
      - `employment_id` string, uuid, required — Employment identifier
      - `errors` object, required
        - `currency` string[]
        - `employment_id` string[]
        - `items` object[]
          - `amount` string[]
          - `description` string[]
        - `note` string[]
        - `nr_occurrences` string[]
        - `number` string[]
        - `periodicity` string[]
        - `start_date` string[]
      - `items` ContractorInvoiceScheduleItem[], required — List of invoice items that composes the overall invoice amount.
        - `amount` integer, required — Amount, in cents.
        - `description` string, required — Describes invoice item intent.
      - `note` string — Custom defined note.
      - `nr_occurrences` integer — Count of invoices that should be generated during schedule lifetime.
      - `number` string — Invoice identifier.
      - `periodicity` 'bi_weekly' | 'monthly' | 'semi_monthly' | 'weekly', required — Defines how often contractor invoices will be generated. - `bi_weekly`: Invoices will be generated every other week, on the given day of the week based on the start date. - `monthly`: Invoices will be generated once a month. - `semi_monthly`: Invoices will be generated at fixed dates twice a month (with 14 days of difference between each other), depending on the start date. In months with just 30 days, if `start_date` is set to the 31st day, then generation occurs in the last of day of the month. - `weekly`: Invoices will be generated each week.
      - `start_date` string, date, required — Date of the first contractor invoice generation.
    - `successes` ContractorInvoiceScheduleCreateResponseSuccess[], required
      - `currency` string, nullable, required — Currency code of the SWIFT fee. Only present when processing_fee is set.
      - `employment_id` string, uuid, required — Employment identifier
      - `id` string, uuid, required — Identifier of the employment being terminated.
      - `items` ContractorInvoiceScheduleItem[], required — List of invoice items that composes the overall invoice amount.
        - `amount` integer, required — Amount, in cents.
        - `description` string, required — Describes invoice item intent.
      - `note` string — Custom defined note.
      - `nr_occurrences` integer — Count of invoices that should be generated during schedule lifetime.
      - `number` string — Invoice identifier.
      - `periodicity` 'bi_weekly' | 'monthly' | 'semi_monthly' | 'weekly', required — Defines how often contractor invoices will be generated. - `bi_weekly`: Invoices will be generated every other week, on the given day of the week based on the start date. - `monthly`: Invoices will be generated once a month. - `semi_monthly`: Invoices will be generated at fixed dates twice a month (with 14 days of difference between each other), depending on the start date. In months with just 30 days, if `start_date` is set to the 31st day, then generation occurs in the last of day of the month. - `weekly`: Invoices will be generated each week.
      - `start_date` string, date, required — Date of the first contractor invoice generation.

## Other responses

- `207` — Multiple successes and failures
- `403` — Forbidden
- `404` — Not Found
- `422` — All entries had failed

---

[API](https://skmtc.net/remote-com/apis/remote.md) · [All operations](https://skmtc.net/remote-com/apis/remote/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/remote-com/remote/versions/7e6a0c61ac82/schema)
