Fix: Tax was associated with inventory, not just tax_id so that if along with adding an inventory, the bill is printed then it can be used to get regime information.
Chore: Refactored checking for nil inventory and kots.
Chore: Model relationships updated to make them simpler
Chore: Bill printing majorly refactored for it
Due to the sheer depth of the changes. There can be showstoppers. Please test it carefully
Moved to sqlalchemy 2.0
Added type checking as much as possible
Updated angular to 15
Moved from Angular flex layout to tailwind css
Started developing on vscode with devcontainers
The data is kept as the original bill object and this view generated on every change. It has no sanctity.
To deal with the challenges of Selection of items in the bill.component.html created a bill selection item.
This is converted to string while checking else the selection model fails.
Feature: It now checks if Happy Hour items have equivalent regular items in each kot.
Feature: Discount won't apply to happy hour items.
Checks for both are both in front end and back end.
This is especially for GST. The format for the tax name is
"Display name 1 (Ratio eg. 1/2) ; Display name 1 (Ratio eg. 1/2)"
eg.
"SGST on Food @ 2.5% (1/2) ; CGST on Food @ 2.5% (1/2)"
or
"UTGST on Food @ 2.5% (1/2) ; CGST on Food @ 2.5% (1/2)"
Feature:
All report printing now uses local aware number formatting for Indian locale.
Fix: Product list for sale was sending product_version_id instead of version_id this was borking on products with multiple versions
Change: Update Product Prices initially does not show list. Only the date and Menu Category List