POS Taxes

Access tax configuration and rates from your POS system. Tax information ensures accurate pricing calculations and compliance.


Overview

The POS Tax API provides access to tax configurations in your POS system. Taxes can be applied at the item, modifier, or ticket level and may be percentage-based or flat fees.

Tax data is essential for:

  • Pricing Calculations - Calculate accurate total prices including taxes
  • Compliance - Ensure proper tax collection and reporting
  • Display Requirements - Show tax-inclusive or tax-exclusive pricing as required
  • Reporting - Generate tax reports for accounting and filing

API Endpoints

Retrieve Taxes

Returns all tax configurations for a specific location.

Method: GET

Endpoint: /pos/v2/{locationId}/taxes

Authentication: Bearer token required

Retrieve all tax configurations from the POS system. This includes sales tax, VAT, service charges, and other tax-like fees.

Path Parameters

NameTypeDescription
locationId *integerThe unique identifier for the location

Query Parameters

NameTypeDescription
pageintegerPage number for pagination (default: 1)
pageSizeintegerNumber of results per page (default: 50, max: 100)
activebooleanFilter by active/inactive status

Request

GET
/pos/v2/{locationId}/taxes
curl -X GET https://conecto-api.shift4payments.com/pos/v2/12345/taxes \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

{
  "results": [
    {
      "taxRef": "TAX-SALES",
      "name": "Sales Tax",
      "description": "State and local sales tax",
      "rate": 0.0825,
      "isFlat": false,
      "isActive": true,
      "isHidden": false,
      "isInclusive": false,
      "priority": 1,
      "locationId": 12345
    },
    {
      "taxRef": "TAX-SERVICE",
      "name": "Service Charge",
      "description": "Automatic service charge",
      "rate": 0.18,
      "isFlat": false,
      "isActive": true,
      "isHidden": false,
      "isInclusive": false,
      "applyToAlcohol": true,
      "priority": 2,
      "locationId": 12345
    },
    {
      "taxRef": "TAX-BOTTLE",
      "name": "Bottle Deposit",
      "description": "Bottle deposit fee",
      "flatAmount": 0.10,
      "isFlat": true,
      "isActive": true,
      "isHidden": false,
      "priority": 3,
      "locationId": 12345
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 50,
    "totalCount": 3
  }
}

Models

Tax

Represents a tax or fee configuration in the POS system.

  • Name
    taxRef
    Type
    string
    Description

    Unique POS system reference ID for the tax

  • Name
    name
    Type
    string
    Description

    Display name of the tax

  • Name
    description
    Type
    string
    Description

    Description of the tax or fee

  • Name
    rate
    Type
    number
    Description

    Tax rate as a decimal (e.g., 0.0825 for 8.25%). Used when isFlat is false.

  • Name
    flatAmount
    Type
    number
    Description

    Flat fee amount. Used when isFlat is true.

  • Name
    isFlat
    Type
    boolean
    Description

    Whether this is a flat fee (true) or percentage-based (false)

  • Name
    isActive
    Type
    boolean
    Description

    Whether the tax is currently active

  • Name
    isHidden
    Type
    boolean
    Description

    Whether the tax is hidden from customer-facing displays

  • Name
    isInclusive
    Type
    boolean
    Description

    Whether the tax is included in item prices (true) or added on top (false)

  • Name
    priority
    Type
    integer
    Description

    Order in which taxes are applied (lower numbers first)

  • Name
    applyToAlcohol
    Type
    boolean
    Description

    Whether this tax applies to alcoholic items

  • Name
    applyToFood
    Type
    boolean
    Description

    Whether this tax applies to food items

  • Name
    applyToBeverage
    Type
    boolean
    Description

    Whether this tax applies to beverage items

  • Name
    locationId
    Type
    integer
    Description

    Location ID where the tax is configured

  • Name
    createdAt
    Type
    datetime
    Description

    When the tax was created

  • Name
    updatedAt
    Type
    datetime
    Description

    When the tax was last updated


Tax Calculations

Percentage-Based Taxes

For percentage-based taxes (isFlat: false):

Tax Amount = Item Price × Tax Rate

Example:

  • Item Price: $10.00
  • Sales Tax Rate: 8.25% (0.0825)
  • Tax Amount: $10.00 × 0.0825 = $0.83
  • Total: $10.83

Flat Taxes

For flat taxes (isFlat: true):

Tax Amount = Flat Amount × Quantity

Example:

  • Item Price: $10.00
  • Bottle Deposit: $0.10
  • Quantity: 2
  • Tax Amount: $0.10 × 2 = $0.20
  • Total: $20.20 ($10.00 × 2 + $0.20)

Multiple Taxes

When multiple taxes apply, they are processed in priority order:

1. Sort taxes by priority (ascending)
2. For each tax:
   - Calculate tax on current subtotal
   - Add tax to running total
3. Return final total

Tax-Inclusive Pricing

For inclusive taxes (isInclusive: true), the tax is already included in the item price:

Item Price Without Tax = Item Price / (1 + Tax Rate)
Tax Amount = Item Price - Item Price Without Tax

Use Cases

Price Display

Display accurate prices including all applicable taxes:

  • Show pre-tax and post-tax amounts separately
  • Handle tax-inclusive pricing correctly
  • Display hidden taxes only in reports (not to customers)

Order Processing

Calculate correct totals for orders:

  • Apply taxes based on item categories
  • Respect tax priorities for compound taxation
  • Handle flat fees vs. percentage-based taxes

Tax Reporting

Generate tax reports for compliance:

  • Break down taxes by type
  • Calculate tax collected by period
  • Separate visible vs. hidden taxes

Best Practices

  • Name
    Precision
    Description

    Use appropriate precision when calculating taxes. Store amounts in cents or smallest currency unit to avoid rounding errors.

  • Name
    Tax Exemptions
    Description

    Some items or customers may be tax-exempt. Verify tax applicability before calculating.

  • Name
    Priority Order
    Description

    Always apply taxes in priority order, especially when dealing with compound taxation or taxes on taxes.

  • Name
    Display Requirements
    Description

    Follow local regulations for tax display. Some regions require tax-inclusive pricing, others require separate display.

  • Name
    Synchronization
    Description

    Tax rates can change. Sync tax data regularly to ensure accurate calculations.

Was this page helpful?