jtellierjtellier Member Posts: 36

I have the following order POST that is not going through, why is it adding $7.80? Is this a tax? I have 0 set for tax is there something else to set tax so it doesn't try and add it?


  • gregaricangregarican Member Posts: 507 

    If you look in the Retail API documentation you'll see where you can assign a taxClassID for sale lines --> https://developers.lightspeedhq.com/retail/endpoints/Sale-SaleLine/#post-create-a-sale-saleline. I'm assuming your 0 value means to default to no sales tax applied. Since true taxClassID's are present as integers starting with 1.

    I'm wondering if you go into Retail and create a new sales tax class set to 0%. Look at the ID that appears in the address bar once it's created. Reference that in your API request and see what the does.

  • jtellierjtellier Member Posts: 36

    Is there a general way to override those? Because we will have tax calculated outside of LightSpeed and a numeric value should be used to handle all the tax cases.

  • gregaricangregarican Member Posts: 507 

    While I don't believe you can override sales tax with your own fixed values, you are able to create new tax classes with their own percentages via the API. This doesn't sound like a decent workaround I figure.


  • jtellierjtellier Member Posts: 36

    That actually doesn't seem like a viable solution. A real tax solution needs to be able to take many variables into consideration on an order by order basis.

    Where is the purchasers zip code.

    What category is the product in.

    Is there any specific country rules.

    e.g. In NY, if you purchase clothing under $110 per item they do not get taxed.

    So we integrate a better tax solution than assigning a static category to an item so how would I create a "Sale" with an order by order taxation based on the order items?

    Are you saying each order has to define its own taxCategory? Can this be defined in the line item?

  • VintageWineGuyVintageWineGuy Member Posts: 101 ✭

    How does Lightspeed do it with Omnichannel? My eCom calculates lots of different tax rates and crams them in there.

    For orders coming through LS eCom in to Retail, I see this:

    "saleID": "7664",


            "isTaxInclusive": "false",


            "referenceNumber": "3899577",

            "referenceNumberSource": "eCom",

            "tax1Rate": "0",

            "tax2Rate": "0",

            "change": "0",

            "receiptPreference": "printed",

            "displayableSubtotal": "91",

            "ticketNumber": "220000007664",

            "calcDiscount": "0",

            "calcTotal": "98.74",

            "calcSubtotal": "91",

            "calcTaxable": "91",

            "calcNonTaxable": "0",

            "calcAvgCost": "55.99",

            "calcFIFOCost": "55.99",

            "calcTax1": "7.74",

            "calcTax2": "0",

            "calcPayments": "98.74",

            "total": "98.74",

            "totalDue": "98.74",

            "displayableTotal": "98.74",


            "taxCategoryID": "2",

            "taxTotal": "7.74"



    My TaxCategoryID 2 is actually one called "Food" at 0%. I can't remember, I may have renamed some default Tax Class that was preset to 0%.

    Regardless, it looks like when Lightspeed does it, they just splarg it in there. I haven't tried doing it myself. Maybe it is a special Lightspeed only rule. Maybe take a look at those values and see if you can PUT them?

  • jtellierjtellier Member Posts: 36

    I tried that but it looks like a read since I get

    "Sale not Created. \"calcTaxable\" cannot be set on Create."

    There must be a way to do this, does LightSpeed Support help in these threads?

Sign In or Register to comment.