---
title: "Retrieve general invoice settings for a subscriber"
method: GET
path: "/invoices/{subscriberId}/InvoiceRequirements"
tags: ["Invoices"]
---

# Retrieve general invoice settings for a subscriber

`GET /invoices/{subscriberId}/InvoiceRequirements`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/invoices/{subscriberId}/InvoiceRequirements`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/invoices/:subscriberId/InvoiceRequirements/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns general invoice settings for the specified subscriber.
            <br />Both subscribers and providers can use this method.
             • **Subscribers** should enter their subscriber ID.
             • **Providers** need to pass the ID of the subscriber they have a contract with.
            <br />Subscriber users with the *Super Admin* secondary role set up general invoice parameters in **Admin** &gt; **Invoices** &gt; **General**, where they configure when invoices can be created, if providers should enter a resolution before submitting invoices, and whether any restrictions should apply to invoice numbers. Other parameters may be available if the corresponding features are turned on for the subscriber. Learn more about [configuring general invoice settings](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/557220138/General+Invoice+Configuration) in ServiceChannel University.

## Path parameters

- `subscriberId` integer, required

## Response `200`

General invoice settings for the specified subscriber are in the response.

- ServiceChannelServicesMessagingInvoicesInvoiceSettingsGeneral: General invoice settings object.
  - `DaysBeforePostingDate` integer: The number of days prior to the invoice posting date within which the invoice creation date can be set. Providers can not create invoices for a date in the past that is older than the specified number of days from the invoice posting date.
  - `MaxDaysAfterPostingDate` integer: The number of days after the invoice posting date within which the invoice creation date can be set. Providers can not generate invoices for a date in the future that is greater than the specified number of days from the invoice posting date.
  - `RequireResolutionText` boolean: Defines whether providers are required to enter a resolution when creating an invoice.
  - `RequireApprovalText` boolean: Defines whether subscriber’s employees are required to enter a comment when approving invoices.
  - `IsInvoiceApprovalCommentFeatureEnabled` boolean: Defines whether the feature that prompts subscriber’s employees to enter a comment when approving invoices is turned on.
  - `IsInvoiceNumberValidationFeatureEnabled` boolean: Defines whether the feature that enables the invoice number validation is turned on.
  - `IsInvoiceNegativeFeatureEnabled` boolean: Defines whether the feature that enables the invoice negative amounts for the required line items.
  - `IsInvoiceZeroVATEU` boolean: Use Us UI model in international locations.
  - `AvailableTrades` string: A list of trades configured for the subscriber. The following parameters are returned for each trade:<br /> • `Id` — trade ID.<br /> • `Name` — trade name.<br /> • `PrimaryTradeName` — name of the primary trade for this trade.
  - `AvailableCategories` string: A list of categories set up for the subscriber. The following parameters are returned for each category:<br /> • `Id` — category ID.<br /> • `SubscriberId` — subscriber ID.<br /> • `Name` — category name.<br /> • `HasDependency` — defines whether the category has dependent categories.<br /> • `PrimaryCategoryID` — ID of the primary category for this category.<br /> • `PrimaryCategoryName` — name of the primary category for this category.
  - `LaborTradeIds` integer[]: Trade IDs for which providers must itemize Labor charges when creating a line-item invoice.
  - `MaterialsTradeIds` integer[]: Trade IDs for which providers must itemize Material charges when creating a line-item invoice.
  - `TravelTradeIds` integer[]: Trade IDs for which providers must itemize Travel charges when creating a line-item invoice.
  - `OtherTradeIds` integer[]: Trade IDs for which providers must itemize Other charges when creating a line-item invoice.
  - `LaborCategoryIds` integer[]: Category IDs for which providers must itemize Labor charges when creating a line-item invoice.
  - `MaterialsCategoryIds` integer[]: Category IDs for which providers must itemize Material charges when creating a line-item invoice.
  - `TravelCategoryIds` integer[]: Category IDs for which providers must itemize Travel charges when creating a line-item invoice.
  - `OtherCategoryIds` integer[]: Category IDs for which providers must itemize Other charges when creating a line-item invoice.
  - `NumberRequirementsModel` ServiceChannelServicesMessagingInvoicesNumberRequirementsModel: Invoice number requirements object.
    - `AutoGenerationTypesSelect` ServiceChannelServicesMessagingInvoicesSelectItem[]: A list of options in the "Generation uniqueness rule" drop-down list a subscriber admin can choose from when configuring invoice number rules for automatically generated invoices.
      - `Value` integer: Number indicating the order of the option in the corresponding drop-down list for configuring invoice number restrictions and rules. The count starts from 0.<br /> • Check `RestrictionTypesSelect` to find out which options are available in the "Restrictions" drop-down list where a subscriber admin can set up number restrictions for manually created invoices.<br /> • See `AutoGenerationTypesSelect` for options in the "Generation uniqueness rule" drop-down list used for configuring number generation rules for automatically created invoices.
      - `Name` string: Name of the option in the corresponding drop-down list — "Restrictions" or "Generation uniqueness rule".
    - `RestrictionTypesSelect` ServiceChannelServicesMessagingInvoicesSelectItem[]: A list of options in the "Restrictions" drop-down list a subscriber admin can choose from when configuring invoice number restrictions for manually created invoices.
      - `Value` integer: Number indicating the order of the option in the corresponding drop-down list for configuring invoice number restrictions and rules. The count starts from 0.<br /> • Check `RestrictionTypesSelect` to find out which options are available in the "Restrictions" drop-down list where a subscriber admin can set up number restrictions for manually created invoices.<br /> • See `AutoGenerationTypesSelect` for options in the "Generation uniqueness rule" drop-down list used for configuring number generation rules for automatically created invoices.
      - `Name` string: Name of the option in the corresponding drop-down list — "Restrictions" or "Generation uniqueness rule".
    - `ReuseInvoiceNumbersSelect` ServiceChannelServicesMessagingInvoicesSelectItem[]: A list of options in the "ReuseInvoiceNumber" drop-down list a subscriber admin can choose from when configuring invoice number.
      - `Value` integer: Number indicating the order of the option in the corresponding drop-down list for configuring invoice number restrictions and rules. The count starts from 0.<br /> • Check `RestrictionTypesSelect` to find out which options are available in the "Restrictions" drop-down list where a subscriber admin can set up number restrictions for manually created invoices.<br /> • See `AutoGenerationTypesSelect` for options in the "Generation uniqueness rule" drop-down list used for configuring number generation rules for automatically created invoices.
      - `Name` string: Name of the option in the corresponding drop-down list — "Restrictions" or "Generation uniqueness rule".
    - `InvoiceNumberRequirement` ServiceChannelServicesMessagingInvoicesInvoiceNumberRequirement: Invoice number requirements object.
      - `Id` integer: ID of the regular expression pattern used to validate the numbers of invoices created manually.
      - `SubscriberId` integer: Unique ID of the subscriber whose invoice number requirements are returned.
      - `Pattern` string: Regular expression pattern used to validate the numbers of invoices created manually.<br />A value is returned even if the selected `RestrictionType` is `0` — *None*. In this case, it’s the last pattern entered in the field.
      - `Comment` string: Comment on the invoice number format displayed to a provider user in a tooltip when they try to submit an invoice whose number does not meet the specified restrictions. Invoice numbers are validated by the regular expression pattern specified in `Pattern`.<br />A value is returned even if the selected `RestrictionType` is `0` — *None*. In this case, it’s the last comment entered in the field.
      - `RestrictionType` 'None' | 'Custom' | 'DigitsOnly' | 'AlphaNumericOnly': Selected restriction for the numbers of invoices created manually. See `RestrictionTypesSelect` to identify which number (`Value`) corresponds to which restriction type.
      - `AutoGenerationType` 'None' | 'CurrentDate': Selected rule for the numbers of invoices generated automatically. See `AutoGenerationTypesSelect` to identify which number (`Value`) corresponds to which rule.
      - `CreatedDate` string, date-time: Date and time when the invoice number requirements were created.
      - `UpdatedDate` string, date-time: Date and time when the invoice number requirements were last updated.
      - `CreatedByUserId` integer: Unique ID of the subscriber admin user who created the invoice number requirements.
      - `UpdatedByUserId` integer: Unique ID of the subscriber admin user who last updated the invoice number requirements.
      - `CreatedByUser` string: Username of the subscriber admin who created the invoice number requirements.
      - `UpdatedByUser` string: Username of the subscriber admin who last updated the invoice number requirements. The username appears in the **Invoice Number** section next to **Last modified**.
      - `ReuseInvoiceNumber` string, byte: Reuse invoice number
      - `IsNew` boolean: Defines whether a default restriction pattern is used.
      - `CreatedDateString` string: Date when the invoice number requirements were created.
      - `UpdatedDateString` string: Date when the invoice number requirements were last updated. The date appears in the **Invoice Number** section next to **Last modified**.
    - `DefaultRestrictionComments` object: A list of default explanatory comments on the invoice number format for the corresponding restrictions. A comment is displayed to a provider user in a tooltip when they try to submit an invoice whose number does not meet the restrictions specified by their subscriber. See `RestrictionTypesSelect` to identify which number (`Value`) corresponds to which restriction type: `2` — *Digits Only*, `3` — *Alphanumeric Only*.
    - `DefaultRestrictionPatterns` object: A list of default regular expressions that define search patterns used to validate the number format of invoices created manually. See `RestrictionTypesSelect` to identify which number (`Value`) corresponds to which restriction type: `2` — *Digits Only*, `3` — *Alphanumeric Only*.
    - `Resources` ServiceChannelServicesMessagingInvoicesLocalizations: The object for UI labels that appear in the "Invoice Number" section on the "General" tab of the "Admin - Invoices" page in Service Automation. Note that only subscriber users with the Super Admin secondary role can access this page.
      - `InvoiceNumberLabel` string: Label for the "Invoice Number" section name.
      - `LastModifiedLabel` string: The "Last modified" label for details about who last updated the invoice requirements and when.
      - `RestrictionLabel` string: Label for the "Restrictions" drop-down list where a subscriber admin selects which restriction should apply to the numbers of manually created invoices.
      - `GenerationRuleLabel` string: Label for the "Generation uniqueness rule" drop-down list where a subscriber admin selects which rule should apply to the numbers of automatically generated invoices.
      - `HelpStringLabel` string: The "Help string (to show vendors)" label for the field containing comments shown to a provider when they try to submit an invoice whose number does not meet the restrictions specified by a subscriber.
      - `PatternPlaceHolder` string: A placeholder text shown in the field where a subscriber admin enters a regular expression pattern to set restrictions for the numbers of manually created invoices.
      - `CommentPlaceHolder` string: A placeholder text shown in the field where a subscriber admin enters a comment for the restriction applied to the numbers of manually created invoices based on the selected restriction type.
  - `IsProviderAbleToAddSalesTax` boolean: Defines whether the provider can add sales tax to its ivoices
  - `RequireProviderDigitalCopy` boolean: Specified is Provider Digital Copy requirement set for the provider

## Other responses

- `400`: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc. <br/>Error codes: 503 - The provider has no contract with the requested subscriber 503 - No access. Please check if the SubscriberId is valid
- `401`: The request is not authorized. <br/>Error codes: 504 - API call rejected by security permissions

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
