Skip to main content
POST
/
v1
/
businesses
/
{businessId}
/
invoices
/
bulk
Bulk create invoices
curl --request POST \
  --url https://sandbox.layerfi.com/v1/businesses/{businessId}/invoices/bulk \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
[
  {
    "external_id": "019234",
    "sent_at": "2023-11-07T05:31:56Z",
    "due_at": "2023-11-07T05:31:56Z",
    "voided_at": "2023-11-07T05:31:56Z",
    "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "customer_external_id": "<string>",
    "line_items": [
      {
        "account_identifier": {
          "type": "AccountId",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        },
        "prepayment_account_identifier": {
          "id": {
            "type": "AccountId",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          },
          "name": "Current Assets",
          "account_number": "4000",
          "stable_name": {
            "type": "StableName",
            "stable_name": "CURRENT_ASSETS"
          },
          "normality": "CREDIT",
          "account_type": {
            "value": "ASSET",
            "display_name": "Asset"
          },
          "account_subtype": {
            "value": "BANK_ACCOUNTS",
            "display_name": "Current Assets"
          }
        },
        "external_id": "<string>",
        "description": "Line item description",
        "product": "Widgets",
        "unit_price": 123,
        "quantity": 123,
        "discount_amount": 123,
        "sales_taxes": [
          {
            "tax_account": {
              "name": "CALIFORNIA_VAT",
              "type": "Tax_Name"
            },
            "tax_ledger_account": {
              "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
              "name": "Sales tax: CALIFORNIA",
              "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
              "normality": "CREDIT",
              "account_type": {
                "value": "LIABILITY",
                "display_name": "Liabilities"
              },
              "account_subtype": {
                "value": "SALES_TAXES_PAYABLE",
                "display_name": "Sales Taxes Payable"
              }
            },
            "amount": 123
          }
        ],
        "dedicated_refunds": [
          {
            "external_id": "31415926535",
            "account_identifier": {
              "type": "AccountId",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            },
            "line_items": [
              {
                "amount": 123,
                "external_id": "<string>",
                "account_identifier": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "prepayment_account_identifier": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "tags": [
                  {
                    "key": "department",
                    "value": "sales",
                    "dimension_display_name": "Department",
                    "value_display_name": "Sales Department"
                  }
                ],
                "memo": "<string>",
                "metadata": {
                  "custom_field": "value",
                  "any valid json": "below 1kb",
                  "nested": {
                    "meaning of life": 42,
                    "array": []
                  }
                },
                "reference_number": "<string>"
              }
            ],
            "completed_at": "2023-11-07T05:31:56Z",
            "refund_processing_fee": 123,
            "method": "CASH",
            "processor": "<string>",
            "refunded_payment_fees": [
              {
                "account": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "fee_amount": 123,
                "description": "<string>"
              }
            ],
            "tags": [
              {
                "key": "department",
                "value": "sales",
                "dimension_display_name": "Department",
                "value_display_name": "Sales Department"
              }
            ],
            "memo": "<string>",
            "metadata": {
              "custom_field": "value",
              "any valid json": "below 1kb",
              "nested": {
                "meaning of life": 42,
                "array": []
              }
            },
            "reference_number": "<string>"
          }
        ],
        "tags": [
          {
            "key": "department",
            "value": "sales",
            "dimension_display_name": "Department",
            "value_display_name": "Sales Department"
          }
        ]
      }
    ],
    "additional_sales_taxes": [
      {
        "tax_account": {
          "name": "CALIFORNIA_VAT",
          "type": "Tax_Name"
        },
        "tax_ledger_account": {
          "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
          "name": "Sales tax: CALIFORNIA",
          "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
          "normality": "CREDIT",
          "account_type": {
            "value": "LIABILITY",
            "display_name": "Liabilities"
          },
          "account_subtype": {
            "value": "SALES_TAXES_PAYABLE",
            "display_name": "Sales Taxes Payable"
          }
        },
        "amount": 123
      }
    ],
    "additional_discount": 123,
    "tips": 123,
    "tips_account": {
      "type": "AccountId",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "payments": [
      {
        "external_id": "12345",
        "method": "CASH",
        "fee": 123,
        "amount": 123,
        "processor": "STRIPE",
        "payment_clearing_account_identifier": {
          "type": "AccountId",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        },
        "dedicated_refunds": [
          {
            "external_id": "31415926535",
            "account_identifier": {
              "type": "AccountId",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            },
            "line_items": [
              {
                "amount": 123,
                "external_id": "<string>",
                "account_identifier": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "prepayment_account_identifier": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "tags": [
                  {
                    "key": "department",
                    "value": "sales",
                    "dimension_display_name": "Department",
                    "value_display_name": "Sales Department"
                  }
                ],
                "memo": "<string>",
                "metadata": {
                  "custom_field": "value",
                  "any valid json": "below 1kb",
                  "nested": {
                    "meaning of life": 42,
                    "array": []
                  }
                },
                "reference_number": "<string>"
              }
            ],
            "completed_at": "2023-11-07T05:31:56Z",
            "refund_processing_fee": 123,
            "method": "CASH",
            "processor": "<string>",
            "refunded_payment_fees": [
              {
                "account": {
                  "type": "AccountId",
                  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                },
                "fee_amount": 123,
                "description": "<string>"
              }
            ],
            "tags": [
              {
                "key": "department",
                "value": "sales",
                "dimension_display_name": "Department",
                "value_display_name": "Sales Department"
              }
            ],
            "memo": "<string>",
            "metadata": {
              "custom_field": "value",
              "any valid json": "below 1kb",
              "nested": {
                "meaning of life": 42,
                "array": []
              }
            },
            "reference_number": "<string>"
          }
        ],
        "tags": [
          {
            "key": "department",
            "value": "sales",
            "dimension_display_name": "Department",
            "value_display_name": "Sales Department"
          }
        ],
        "memo": "<string>",
        "metadata": {
          "custom_field": "value",
          "any valid json": "below 1kb",
          "nested": {
            "meaning of life": 42,
            "array": []
          }
        },
        "reference_number": "<string>"
      }
    ],
    "dedicated_refunds": [
      {
        "external_id": "31415926535",
        "account_identifier": {
          "type": "AccountId",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        },
        "line_items": [
          {
            "amount": 123,
            "external_id": "<string>",
            "account_identifier": {
              "type": "AccountId",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            },
            "prepayment_account_identifier": {
              "type": "AccountId",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            },
            "tags": [
              {
                "key": "department",
                "value": "sales",
                "dimension_display_name": "Department",
                "value_display_name": "Sales Department"
              }
            ],
            "memo": "<string>",
            "metadata": {
              "custom_field": "value",
              "any valid json": "below 1kb",
              "nested": {
                "meaning of life": 42,
                "array": []
              }
            },
            "reference_number": "<string>"
          }
        ],
        "completed_at": "2023-11-07T05:31:56Z",
        "refund_processing_fee": 123,
        "method": "CASH",
        "processor": "<string>",
        "refunded_payment_fees": [
          {
            "account": {
              "type": "AccountId",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            },
            "fee_amount": 123,
            "description": "<string>"
          }
        ],
        "tags": [
          {
            "key": "department",
            "value": "sales",
            "dimension_display_name": "Department",
            "value_display_name": "Sales Department"
          }
        ],
        "memo": "<string>",
        "metadata": {
          "custom_field": "value",
          "any valid json": "below 1kb",
          "nested": {
            "meaning of life": 42,
            "array": []
          }
        },
        "reference_number": "<string>"
      }
    ],
    "tags": [
      {
        "key": "department",
        "value": "sales",
        "dimension_display_name": "Department",
        "value_display_name": "Sales Department"
      }
    ],
    "memo": "<string>",
    "metadata": {
      "custom_field": "value",
      "any valid json": "below 1kb",
      "nested": {
        "meaning of life": 42,
        "array": []
      }
    },
    "reference_number": "<string>"
  }
]
'
[
  {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "type": "Invoice",
    "business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "external_id": "1",
    "status": "SENT",
    "sent_at": "2023-11-07T05:31:56Z",
    "due_at": "2023-11-07T05:31:56Z",
    "paid_at": "2023-11-07T05:31:56Z",
    "voided_at": "2023-11-07T05:31:56Z",
    "line_items": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "external_id": "<string>",
        "invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "account_identifier": {
          "type": "AccountId",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        },
        "ledger_account": {
          "id": {
            "type": "AccountId",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          },
          "name": "Current Assets",
          "account_number": "4000",
          "stable_name": {
            "type": "StableName",
            "stable_name": "CURRENT_ASSETS"
          },
          "normality": "CREDIT",
          "account_type": {
            "value": "ASSET",
            "display_name": "Asset"
          },
          "account_subtype": {
            "value": "BANK_ACCOUNTS",
            "display_name": "Current Assets"
          }
        },
        "prepayment_account": {
          "id": {
            "type": "AccountId",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          },
          "name": "Current Assets",
          "account_number": "4000",
          "stable_name": {
            "type": "StableName",
            "stable_name": "CURRENT_ASSETS"
          },
          "normality": "CREDIT",
          "account_type": {
            "value": "ASSET",
            "display_name": "Asset"
          },
          "account_subtype": {
            "value": "BANK_ACCOUNTS",
            "display_name": "Current Assets"
          }
        },
        "description": "Widget sale",
        "product": "Widget",
        "unit_price": 123,
        "quantity": 123,
        "subtotal": 123,
        "discount_amount": 123,
        "sales_taxes_total": 123,
        "sales_taxes": [
          {
            "tax_account": {
              "name": "CALIFORNIA_VAT",
              "type": "Tax_Name"
            },
            "tax_ledger_account": {
              "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
              "name": "Sales tax: CALIFORNIA",
              "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
              "normality": "CREDIT",
              "account_type": {
                "value": "LIABILITY",
                "display_name": "Liabilities"
              },
              "account_subtype": {
                "value": "SALES_TAXES_PAYABLE",
                "display_name": "Sales Taxes Payable"
              }
            },
            "amount": 123
          }
        ],
        "total_amount": 123,
        "refund_allocations": [],
        "transaction_tags": [
          {
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "key": "ExampleTagKey",
            "value": "ExampleTagValue",
            "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "dimension_display_name": "<string>",
            "value_display_name": "<string>",
            "archived_at": "2023-11-07T05:31:56Z"
          }
        ]
      }
    ],
    "subtotal": 123,
    "additional_discount": 123,
    "additional_sales_taxes_total": 123,
    "additional_sales_taxes": [
      {
        "tax_account": {
          "name": "CALIFORNIA_VAT",
          "type": "Tax_Name"
        },
        "tax_ledger_account": {
          "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
          "name": "Sales tax: CALIFORNIA",
          "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
          "normality": "CREDIT",
          "account_type": {
            "value": "LIABILITY",
            "display_name": "Liabilities"
          },
          "account_subtype": {
            "value": "SALES_TAXES_PAYABLE",
            "display_name": "Sales Taxes Payable"
          }
        },
        "amount": 123
      }
    ],
    "tips": 123,
    "total_amount": 123,
    "outstanding_balance": 123,
    "memo": "<string>",
    "payment_allocations": [],
    "refund_allocations": [],
    "imported_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "transaction_tags": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "key": "ExampleTagKey",
        "value": "ExampleTagValue",
        "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "dimension_display_name": "<string>",
        "value_display_name": "<string>",
        "archived_at": "2023-11-07T05:31:56Z"
      }
    ],
    "metadata": {
      "custom_field": "value",
      "any valid json": "below 1kb",
      "nested": {
        "meaning of life": 42,
        "array": []
      }
    },
    "reference_number": "<string>"
  }
]

Rate Limiting

This endpoint has a custom rate limit policy. Rate Limit Details:
EnvironmentLimitRefill PeriodInitial Size
Sandbox20 requests1 second40 requests
Production20 requests1 second40 requests
Response Headers: All responses include the following rate limit headers:
  • X-RateLimit-Limit: The rate limit bucket capacity
  • X-RateLimit-Remaining: The number of tokens remaining in the bucket
  • X-RateLimit-Reset: UTC timestamp (in seconds) when the bucket will be refilled
For more details on rate limiting, see Rate Limiting.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Content-Type
string

Content-Type must be set to application/json

Path Parameters

businessId
string
required

The UUID of the business to create invoices for

Body

application/json
external_id
string

External ID for the invoice within your platform. Idempotency key.

Example:

"019234"

sent_at
string<date-time>

When the invoice was sent by the business to the recipient.

due_at
string<date-time>

When the invoice is due.

voided_at
string<date-time>

When the invoice was voided. Voiding excludes the invoice entirely from accounting.

customer_id
string<uuid>

ID of the customer to associate with the invoice.

customer_external_id
string

External ID of the customer to associate with the invoice.

line_items
object[]

Line items making up the invoice.

additional_sales_taxes
object[]

List of sales tax obligations on this line item.

additional_discount
integer

Additional discount applied to the whole invoice in addition to individual line items.

tips
integer

Tips included by the buyer, in cents.

tips_account
Account ID · object

The Account Identifier for a tips account.

payments
object[]

Payments that have been made towards the balance of the invoice.

dedicated_refunds
object[]

Dedicated refunds to associate with this invoice

tags
object[]
memo
string | null

Memo for any text you would like to associate with the invoice (for example, to display to end users).

metadata
object

Arbitrary custom metadata in JSON format with a size limit of 1KB

Example:
{
"custom_field": "value",
"any valid json": "below 1kb",
"nested": { "meaning of life": 42, "array": [] }
}
reference_number
string | null

Any (typically user-visible) identifier you would like to associate with the invoice. Can be used to filter when listing invoices.

Response

id
string<uuid>

Unique identifier for the invoice.

type
string

Resource type. Value will be 'Invoice'.

Example:

"Invoice"

business_id
string<uuid>

ID of the Business that generated the invoice.

external_id
string

Unique ID of the invoice in your system for linking purposes.

Example:

"1"

status
enum<string>

Status of the invoice.

Available options:
SENT,
PARTIALLY_PAID,
PAID,
VOIDED,
PARTIALLY_WRITTEN_OFF,
WRITTEN_OFF,
REFUNDED
sent_at
string<date-time>

When the invoice was sent by the business to the recipient.

due_at
string<date-time>

When the invoice is due.

paid_at
string<date-time>

When the invoice was paid.

voided_at
string<date-time>

When the invoice was voided. Voiding excludes the invoice from accounting.

line_items
object[]

Line items making up the invoice

subtotal
integer

Subtotal of all invoice line items in cents.

additional_discount
integer

Additional discount applied to the whole invoice in addition to individual line items.

additional_sales_taxes_total
integer

Sum of all taxes across the invoice line items and any additional taxes in cents.

additional_sales_taxes
object[]

List of additional sales tax line items

tips
integer

Tips included by the buyer, in cents.

total_amount
integer

Total amount of the invoice in cents.

outstanding_balance
integer

The remaining balance on the invoice after factoring in all previous invoice payments and write-offs.

memo
string

Memo for any text you would like to associate with the Invoice (for example, to display to end users).

payment_allocations
object[]

Payments made by a customer are allocated toward one or many invoices. This list shows which payments have been been allocated towards this invoice. The most common case is that there is a 1:1 relationship between a payment and an invoice, in which case the allocation’s amount will match the payment’s amount.

Example:
[]
refund_allocations
object[]

Refunds made by a customer are allocated toward one or many invoices. This list shows which refunds have been been allocated towards this invoice.

Example:
[]
imported_at
string<date-time>

Time when the invoice was first imported into Layer. Eligible sort key.

updated_at
string<date-time>

Time when the invoice was first updated in Layer. Eligible sort key.

transaction_tags
object[]

Tags on the transactions associated with the invoice

metadata
object

Arbitrary custom metadata in JSON format with a size limit of 1KB

Example:
{
"custom_field": "value",
"any valid json": "below 1kb",
"nested": { "meaning of life": 42, "array": [] }
}
reference_number
string | null

Any (typically user-visible) identifier you would like to associate with the invoice. Can be used to filter when listing invoices.