GST Compliance

GST Compliance

Configure GST settings for your business, items, delivery charges, custom charges, and invoices in pi-square.

pi-square includes GST settings at both the business level and the item level, so you can configure how tax is applied across your catalog, delivery charges, custom order charges, and invoices.

This page explains what can be configured in the app based on the current implementation in business.dart, inventory.dart, and tax.dart.

What GST settings are available

At the business level, pi-square supports:

  • enabling tax compliance for the business
  • saving your GSTIN
  • choosing whether item prices already include GST
  • setting a default GST rate for items
  • applying GST to delivery charges
  • applying GST to order-level custom charges
  • generating bills or invoices
  • uploading an invoice signature

At the item level, pi-square supports:

  • marking an item as GST exempt
  • overriding the default pricing mode for that item
  • saving an HSN or SAC code
  • overriding the default GST rate for that item

Where to configure GST

Business-level GST settings

Open your business settings and look for the Tax Compliance section.

The app currently exposes:

  • Enable Tax Compliance
  • GSTIN
  • Item prices already include tax
  • Default item tax rate (%)
  • Apply tax on delivery charge
  • Delivery tax rate (%)
  • Apply tax on order-level custom charges
  • Order charge tax rate (%)

If invoice generation is enabled, you can also upload an invoice signature under Orders & Invoicing.

GSTIN validation

When GST compliance is enabled for India GST mode, the app validates the GSTIN format before saving. A GSTIN is required in that mode, and the input is validated against the expected 15-character GSTIN pattern.

Example format:

27ABCDE1234F1Z5

If the value does not match the required format, the app shows Enter a valid GSTIN.

Default GST behavior for items

The business-level GST configuration acts as the default for your catalog.

That means you can define:

  • whether selling prices already include GST
  • the default GST rate to use when an item does not override its own rate

This is useful if most of your catalog follows the same GST treatment and you only want to configure exceptions item by item.

GST on delivery charges and order charges

pi-square lets you separately control whether GST should apply to:

  • delivery charges
  • order-level custom charges

If either option is enabled, the app allows you to enter a separate rate for that charge type.

This is helpful when your business needs tax treatment beyond just the item selling price.

Item-level GST settings

In the inventory item editor, if GST is enabled for the business, each item gets a Tax Settings section.

For each item, you can configure:

  • GST Exempt Item
  • GST pricing mode
  • HSN / SAC Code (optional)
  • GST Rate (%)

GST pricing mode options

Each item can use one of these modes:

  • Use default
  • Item price includes tax
  • Tax added on top of item price

If you leave the item in Use default, the app falls back to the business-level pricing mode.

Item GST rate override

If you leave the item GST rate empty, the item uses the business default GST rate.

If you enter a value, that item uses its own GST rate instead.

GST-exempt items

If an item is marked as GST exempt, it is treated separately from taxable items. This is useful when specific products or services should not have GST applied in your business setup.

HSN / SAC support

Each item can store an optional HSN / SAC Code.

This is configured item by item in inventory and is also supported in CSV import/export when GST is enabled.

CSV import and export for GST fields

When GST is enabled, pi-square adds GST-related columns to inventory CSV export and expects the same structure during CSV import.

The current GST column names are:

  • GST Exempt Item
  • GST Pricing Mode
  • HSN / SAC Code
  • GST Rate (%)

Accepted values

For GST Pricing Mode, the app accepts:

  • default
  • included
  • excluded

For GST Exempt Item, use boolean-style values that the app can parse, such as yes or no.

If the CSV contains an invalid GST pricing mode or an invalid GST rate, the import will report an error for that row.

How GST is calculated

The tax engine stores whether prices are tax-inclusive or tax-exclusive and calculates:

  • tax included in prices
  • additional tax added on top
  • total tax amount
  • net amount before tax
  • grand total

For India GST mode, the calculation also splits tax into:

  • CGST
  • SGST
  • IGST

The current logic applies:

  • CGST + SGST when the transaction is intra-state
  • IGST when the transaction is inter-state

Invoicing support

Under Orders & Invoicing, the app supports:

  • enabling bill/invoice generation
  • uploading a signature image for invoices

If your business needs GST-ready invoices, you should configure:

  1. your GSTIN
  2. the relevant default and override GST rates
  3. item HSN/SAC codes where needed
  4. invoice generation
  5. invoice signature

Suggested setup flow

For most businesses, the cleanest approach is:

  1. Enable Tax Compliance in business settings.
  2. Enter your GSTIN.
  3. Choose whether your item prices are GST-inclusive or GST-exclusive.
  4. Set a default GST rate for the catalog.
  5. Turn on GST for delivery charges or order-level custom charges if required.
  6. In inventory, override GST only for exceptions.
  7. Add HSN/SAC codes where needed.
  8. Enable invoice generation and upload an invoice signature.

Important note

pi-square provides GST-related configuration and calculation support inside the product, but your actual compliance obligations depend on your business, goods or services, state rules, invoicing practices, and accountant or tax advisor guidance.