Tax v1 adds nullable tax-code, tax-profile, discount, and captured price fields so integrations can preserve facts from their source. These fields are supplied and read back in v1. They are not calculation inputs for a Jungle tax engine.
null removes the value.Product.gst, Supplier.taxNumber, Supplier.gstRegistered, LineItem.auTaxApplied, LineItem.discountPercentage, LineItem.adjustments, LineItem.unitPrice, LineItem.subtotalPrice, LineItem.totalPrice, Order.priceTotal, PurchaseOrder.price, and PurchaseOrder.totalPrice keep their existing behavior.LineItem.auTaxApplied: GST does not populate taxCode, and discountPercentage does not populate discountType.Product:
taxCodeSaleDefaulttaxCodePurchaseDefaultLine item and order line item:
taxCodediscountTypeunitPriceTaxExclusiveunitPriceTaxInclusiveunitDiscountAmountlineSubtotalTaxExclusivelineDiscountTotallineTaxTotallineTotalTaxInclusiveOrder and purchase order:
subtotalTaxExclusivediscountTotaltaxTotaltotalTaxInclusiveSupplier, customer, company, and location:
taxProfileTax profile:
countryCodetaxCodeSaleDefaulttaxCodePurchaseDefaultregistrationsattributesTax profiles are read through their owning supplier, customer, company, or location. Use taxProfileSet with the owner typename and identifier to create or update that owner's profile.
discountType is a captured line-level structure:
Percent requires percent and rejects amount.Flat requires amount and rejects percent.The API validates this shape and returns the accepted value. It does not allocate the discount across a document or derive line totals from it in v1.
The following work is intentionally not part of v1:
Existing product, order, purchase-order, supplier, customer, company, and location flows must continue to work when all v1 tax and captured price fields are omitted. In that case, the v1 fields should read back as null, while legacy fields should retain their existing values and calculations.
Jungle Platform API - Global Features
Learn about global functionality that is applied to all Jungle objects.
Node.js
Learn about and how to get started with our Node.js SDK