# Updates an invoice setting

PUT {{baseURL}}/pay-int-api/merchants/{{merchantId}}/invoices/settings
This endpoint updates the specified invoice setting.
It controls behavior like whether line item prices can be overwritten, whether taxes, shipping, and discounts are enabled, and which payment methods are accepted for invoices.
Changes apply to invoices created after the update and do not retroactively affect invoices already issued.

Care must be taken to complete all the fields with the existing information.
The update replaces the entire settings record, so all fields must be included, even ones that aren't changing.
Any field left out is not preserved from the previous version.
See Also:
To retrieve a merchant's invoice settings, see GET /pay-int-api/merchants/{merchantId}/invoices/settings.

Endpoint: PUT /pay-int-api/merchants/{merchantId}/invoices/settings
Version: V1
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer JWT

## Path parameters:

  - `merchantId` (string, required)
    Specifies the identifier of the merchant.

## Header parameters:

  - `x-api-version` (string)
    Specifies the API version to use for the request.

Example: 1.0

## Request body:

  - `application/json` (unknown)
    The invoice settings update request.

## Request fields (application/json):

  - `dueDateAfterDays` (integer)
    Specifies the number of days after issuance that an invoice is due.

Example: 30
    Example: 30

  - `taxPercentage` (number)
    Specifies the tax percentage.
Example: 8.50 (as 8.50%)
    Example: 8.5

  - `isDiscountEnabled` (boolean)
    Specifies the discount is enabled.
If `true`, enable the discount.
If `false`, do not enable the discount.
Example: true
    Example: true

  - `discountPercentage` (number)
    Specifies the discount percentage.
Example: 1.5 (as 1.5%)
    Example: 1.5

  - `isShippingFeeEnabled` (boolean)
    Specifies the shipping fee is enabled.
If `true`, the shipping fee is enabled.
If `false`, the shipping fee is not enabled.
Example: true
    Example: true

  - `shippingFeeAmount` (number)
    Specifies the shipping fee amount.

Example: 5.00
    Example: 5

  - `isFeesEnabled` (boolean)
    Specifies fees are enabled.
If `true`, fees are enabled.
If `false`, fees are not enabled.
Example: true
    Example: true

  - `feesPercentage` (number)
    Specifies the fees percentage.
Example: 10.25 (as 10.25%)
    Example: 10.25

  - `notes` (string)
    Specifies default notes shown on an invoice.

Example: Thank you for your business.
    Example: Thank you for your business.

  - `paymentMethodTypeId` (integer)
    Specifies the payment method type identifier.
Value values:
| Id | Name |
|  --- | --- |
| 1 | Card (for credit card) |
| 2 | ElectronicCheck |

Example: 2
    Example: 2

  - `cardPaymentProcessorId` (string)
    Specifies an identifier for the credit card payment processor handling a card transaction.

Example: 78723ff2-d47e-460b-b838-d602bdf0e1bc
    Example: 78723ff2-d47e-460b-b838-d602bdf0e1bc

  - `achPaymentProcessorId` (string)
    Specifies an identifier for the automated clearing house (ACH) payment processor handling a transaction.

Example: 9925a0b0-eb18-4d74-8967-7e0cf6af0729
    Example: 9925a0b0-eb18-4d74-8967-7e0cf6af0729

  - `allowStaffToSetDiscountAndLineItemDiscount` (boolean)
    Specifies staff members are allowed to set a discount and line item discount.
If `true`, staff can set a discount and a line item discount.
If `false`, staff cannot set a discount or a line item discount.
Example: true
    Example: true

  - `allowManuallyEnterLineItems` (boolean)
    For internal use only.

Do not use.

  - `isSmsNotificationAfterPaymentEnabled` (boolean)
    Specifies an SMS notification is sent to the customer after a successful payment.
If `true`, an SMS notification is sent after payment succeeds.
If `false`, no SMS notification is sent after payment succeeds.
Example: true
    Example: true

  - `isSmsNotificationAfterPaymentFailedEnabled` (boolean)
    Specifies an SMS notification is sent to the customer after a failed payment.
If `true`, an SMS notification is sent after payment fails.
If `false`, no SMS notification is sent after payment fails.
Example: true
    Example: true

  - `achAllowFasterProcessing` (boolean)
    Specifies faster processing is allowed for the invoice's ACH payment.
If `true`, faster processing is allowed.
If `false`, faster processing is not allowed.
Example: true
    Example: true

  - `canOverWriteInvoiceLineItemPrice` (boolean)
    Specifies a line item's unit price can be overwritten on an invoice.
If `true`, a line item's `unitPrice` can be overwritten from its catalog price.
If `false`, a line item's `unitPrice` must match its catalog price and cannot be overwritten.
Example: true
    Example: true

## Response 200:

  - `200` (unknown)
    OK. Invoice settings successfully updated.

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.

Example: FluteOpsDeveloper.MSG322
    Example: FluteOpsDeveloper.MSG322

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `errors` (object)
    Indicates the collection of validation errors, keyed by field name.
Example:
{ "Email": ["'Email' is not a valid email address."] }

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `details` (string)
    Indicates details about the error.
Example: Forbidden to access Id 'f6a7b8c9-d0e1-4f2a-3b4c-5d6e7f8a9b25' with type='(Service).DataAccess.Entities.(Model)Entity'
    Example: Forbidden to access Id 'f6a7b8c9-d0e1-4f2a-3b4c-5d6e7f8a9b25' with type='(Service).DataAccess.Entities.(Model)Entity'

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: (Service)

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: Exceptions.ForbiddenException
    Example: Exceptions.ForbiddenException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 404:

  - `404` (unknown)
    Resource not found

## Response 404 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Entity with ID 'aa6cfcd0-0295-4a4c-b074-8c901f114fef' was not found.
    Example: Entity with ID 'aa6cfcd0-0295-4a4c-b074-8c901f114fef' was not found.

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.

Example: FluteOpsDeveloper.MSG322
    Example: FluteOpsDeveloper.MSG322

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: System.Collections.Generic.KeyNotFoundException
    Example: System.Collections.Generic.KeyNotFoundException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

## Response 500:

  - `500` (unknown)
    Internal Error

## Response 500 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: An unexpected error occurred while processing the request.
    Example: An unexpected error occurred while processing the request.

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: (Service)

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: System.Exception
    Example: System.Exception

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

