---
title: "Create Company Billing Preferences"
method: POST
path: "/v3/company/billing-preferences"
tags: ["Billing Preferences"]
---

# Create Company Billing Preferences

`POST /v3/company/billing-preferences`

## Request

- Base URL: `https://api.avionte.com/bo-prod`
- URL: `https://api.avionte.com/bo-prod/v3/company/billing-preferences`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Creates new company billing preferences.

## Query parameters

- `companyGuid` string, uuid
- `companyExternalId` string
- `departmentExternalId` string

## Headers

- `FrontOfficeTenantId` integer, required
- `RequestOrigin` string, required
- `RequestId` string, uuid, required: The unique request identifier used to correlate request data with log entries and events, formatted as a UUID.
- `ExternalIdSource` 'BOLD', required
- `RequestUserExternalId` string, required

## Request body

- CompanyBillingPreferences
  - `companyGuid` string, uuid: The unique identifier for the Company, formatted as a UUID.
  - `billingPeriod` 'Unknown' | 'Weekly' | 'BiWeekly' | 'Monthly' | 'SemiMonthly' | 'Daily' | 'Yearly' | 'Hourly': An option to define the billing frequency of billing processing.
  - `billingPeriodCycle` '1' | '2' | '3' | '4' | 'LastWeek': An option to define when billing processing occurs.
  - `invoicePreferences` InvoicePreferences
    - `billToDepartmentGuid` string, uuid, nullable: The unique identifier for the Bill To Department.
    - `paymentTermsOptionId` integer, nullable: The identifier used to determine the invoice payment terms.
    - `invoiceStyleGuid` string, uuid, nullable: The unique identifier for the invoice report style, formatted as a UUID.
    - `separateInvoiceByOptionIds` integer[]: The option identifiers used to determine how to split billing transactions into separate invoices.
    - `groupInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine how to group billing transactions in an invoice.
    - `sortInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine how to sort billing transactions in an invoice.
    - `displayInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine what is included for display in an invoice.
    - `showDailyHours` boolean, nullable: An indication of whether daily hours are included in the invoice display.
    - `showTimeCard` boolean, nullable: An indication of whether timecard details are included in the invoice.
    - `showWebTimeCard` boolean: An indication of whether Connect timesheets are included in the invoice.
    - `includePastInvoice` boolean, nullable: An indication of whether references to past invoices are included.
    - `maxInvoiceAmount` number, nullable: The maximum invoice amount threshold. A warning is displayed during billing if the amount exceeds this value.
    - `printInvoice` boolean, nullable: An indication of whether a copy of the invoice is printed.
    - `emailInvoiceTo` string[]: The list of recipient email addresses to send the invoice to.
  - `statementLetterPreferences` StatementLetterPreferences
    - `includeFinanceCharges` boolean, nullable: An indication of whether finance charges are included.
    - `financeChargePercent` number, double, nullable: The percentage rate used to calculate finance charges.
    - `financeChargeGracePeriod` integer, nullable: The identifier for the grace period option before finance charges apply.
    - `increaseBalanceAmountDue` boolean, nullable: An indication of whether finance charges increase the balance amount due.
    - `autoEmailMonthlyStatements` boolean, nullable: An indication of whether monthly statements are automatically emailed.
    - `dayOfMonthToSendStatements` integer, nullable: The identifier for the day of the month when statements should be sent.
    - `emailStatementTo` string[]: The list of recipient email addresses to send the statements to.

## Response `200`

Company setup options and configuration related to billing.

- CompanyBillingPreferences
  - `companyGuid` string, uuid: The unique identifier for the Company, formatted as a UUID.
  - `billingPeriod` 'Unknown' | 'Weekly' | 'BiWeekly' | 'Monthly' | 'SemiMonthly' | 'Daily' | 'Yearly' | 'Hourly': An option to define the billing frequency of billing processing.
  - `billingPeriodCycle` '1' | '2' | '3' | '4' | 'LastWeek': An option to define when billing processing occurs.
  - `invoicePreferences` InvoicePreferences
    - `billToDepartmentGuid` string, uuid, nullable: The unique identifier for the Bill To Department.
    - `paymentTermsOptionId` integer, nullable: The identifier used to determine the invoice payment terms.
    - `invoiceStyleGuid` string, uuid, nullable: The unique identifier for the invoice report style, formatted as a UUID.
    - `separateInvoiceByOptionIds` integer[]: The option identifiers used to determine how to split billing transactions into separate invoices.
    - `groupInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine how to group billing transactions in an invoice.
    - `sortInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine how to sort billing transactions in an invoice.
    - `displayInvoiceItemsByOptionIds` integer[]: The option identifiers used to determine what is included for display in an invoice.
    - `showDailyHours` boolean, nullable: An indication of whether daily hours are included in the invoice display.
    - `showTimeCard` boolean, nullable: An indication of whether timecard details are included in the invoice.
    - `showWebTimeCard` boolean: An indication of whether Connect timesheets are included in the invoice.
    - `includePastInvoice` boolean, nullable: An indication of whether references to past invoices are included.
    - `maxInvoiceAmount` number, nullable: The maximum invoice amount threshold. A warning is displayed during billing if the amount exceeds this value.
    - `printInvoice` boolean, nullable: An indication of whether a copy of the invoice is printed.
    - `emailInvoiceTo` string[]: The list of recipient email addresses to send the invoice to.
  - `statementLetterPreferences` StatementLetterPreferences
    - `includeFinanceCharges` boolean, nullable: An indication of whether finance charges are included.
    - `financeChargePercent` number, double, nullable: The percentage rate used to calculate finance charges.
    - `financeChargeGracePeriod` integer, nullable: The identifier for the grace period option before finance charges apply.
    - `increaseBalanceAmountDue` boolean, nullable: An indication of whether finance charges increase the balance amount due.
    - `autoEmailMonthlyStatements` boolean, nullable: An indication of whether monthly statements are automatically emailed.
    - `dayOfMonthToSendStatements` integer, nullable: The identifier for the day of the month when statements should be sent.
    - `emailStatementTo` string[]: The list of recipient email addresses to send the statements to.

## Other responses

- `400`: Bad Request
- `402`: Additional subscription required.
- `403`: Access Denied
- `404`: Not found
- `405`: Unsupported method
- `409`: Duplicate conflict
- `415`: Unsupported format(s) indicated by the Content-Type header
- `429`: Too many requests
- `500`: An unexpected error occurred
- `502`: Service Unavailable
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/avionte/apis/avionte-back-office-v3-api.md) - [All operations](https://skmtc.dev/avionte/apis/avionte-back-office-v3-api/llms.txt) - [OpenAPI document](https://skmtc.dev/avionte/apis/avionte-back-office-v3-api/revisions/13269bc541c9?raw)
