Grab Clappia’s 50% OFF Black Friday Deal before it’s gone! Ends 05 Dec 2025.
View offer →
#bf-banner-text { text-transform: none !important; }
How to Build a Daily Order App with Automatic GST Calculation and Delivery-Slot Validation

How to Build a Daily Order App with Automatic GST Calculation and Delivery-Slot Validation

By
Verin D'souza
March 4, 2026
|
15 Mins
Table of Contents

How to Build a Daily Order App with Automatic GST Calculation and Delivery-Slot Validation

Order entry systems often need to handle more than just capturing quantities, they must ensure pricing accuracy, apply correct tax structures, and enforce operational rules such as delivery timing and scheduling. When these elements are not built into the process, teams end up relying on manual checks, which can lead to inconsistencies at scale.

If your business runs daily replenishment orders, whether for retail distribution, wholesale supply, or field sales, you already know how error-prone the process gets when it's done manually. Reps select the wrong delivery slot. Taxes (like GST in India) get calculated incorrectly. Orders go in for the wrong date. By the time someone catches the mistake, the supply chain has already felt it.

This guide walks you through building a fully functional daily order entry app in Clappia that automates pricing, splits taxes (for example, GST into CGST and SGST), and enforces delivery-slot and date rules at the point of submission, all without writing a single line of backend code. This is achieved by structuring the solution across multiple apps, where each app handles a specific part of the process and feeds into the final order entry.

What You'll Build

By the end of this guide, you'll have a connected system of four apps; one for managing dealer details, two for managing different types of product data, and one main app for creating and submitting orders:

AppPurpose
Dealer/Shop MasterStores dealer details, pricing category, discount, and route info
Product Master – Long Shelf-Life ProductsStores item details, Marked Price, HSN code, GST %, and delivery preferences
Product Master – Short Shelf-Life ProductsSame structure for perishable or fast-moving items
Daily Order Entry AppThe main order form that links to MIS, auto-calculates pricing and tax, enforces slot rules

Step 1: Set Up the Dealer/Shop Master App

Before building the order form, you need a source of truth or an MIS for your dealers or shops. This master app stores the information that gets automatically pulled into every order.

Fields to Add to the App

In your Clappia dashboard, click on ‘New App’ and go to Design App. Add the following fields in a single section:

Required fields:

  • Dealer Code - Single Line Text
  • Dealer Name - Single Line Text
  • Price Category - Single Selector with options: Showroom, Dealers (you can modify these based on your business type)
  • Discount - Number Input (percentage value, e.g. 5 for 5%)
  • GSTIN - Single Line Text (used here as an example of a tax identification number; replace with the relevant tax ID based on your region)
  • Route Details - Single Line Text

Optional fields (recommended for larger operations):

  • Dealer Class - Single Line Text
  • Shop Grade - Single Selector with options: A, B, C, D

No display conditions are needed here, keep all fields always visible. No workflows are required either. This is pure master data.

Once you're done, submit a few dealer records so you have data to test with. To do that, you can go to App Home and enter them one by one. Or if you already have existing data, you can upload it all in one shot in the Submissions tab.

Step 2: Set Up the Product Master

Here we have taken two types of products: long shelf-life items (packaged goods, dry items) and short shelf-life items (perishables, daily-made goods). Each gets its own master app, but the structure is nearly identical. You can maintain just one product master or more if you need.

Fields to  Add to the App (Long Shelf-Life)

Required fields:

  • Item Code - Single Line Text
  • Item Name - Single Line Text
  • HSN Code - Single Line Text
  • GST % - Number Input (add a numeric validation: must be between 0 and 40)
  • Marked Price - Number Input
  • Item Category - Single Line Text or Single Selector
  • Shelf Life - Number Input (in days; add a numeric validation: must be greater than 0)

Optional fields:

  • Packing Code - Single Line Text
  • Pack Info - Single Line Text
  • Department - Single Line Text
  • Instructions - Multi-line Text

Planning fields:

  • Delivery Day - Single Selector with options: Monday through Friday
  • Billing Priority - Single Selector with options: 1, 2, 3, 4

Helper formula field: Add a Calculation & Logic block with this formula to create a quick reference label:

CONCATENATE({item_name}, " - ", {delivery_day})

This creates a combined label using the item name and delivery day (e.g., “Product A – Monday”), making it easier to identify and select products during lookup when your product list is long.

For the Short Shelf-Life master, use the same required fields.

Add a few product records before moving on.

Step 3: Build the Daily Order Entry App

This is where everything comes together. The order app has one section with a mix of lookup fields, user-entered fields, hidden calculated fields, and validations.

Section: Order Details

Part A — Master Lookups

Add a Get Data from Other Apps block and configure it as follows:

Lookup 1: My Shop

  • Source app: your Dealer/Shop Master App
  • Search field: Dealer Name (or Dealer Code)
  • Auto-fill the following fields from the selected record into corresponding fields in this app:
    • Dealer Name → Dealer Name (read-only)
    • Price Category → Price Category (hidden)
    • Discount → Discount (hidden)
    • Route Details → Route Details (read-only)

Lookup 2: Select Product

  • Source app: Product Master – Long Shelf-Life
  • Search field: Item Name (or use the helper concatenated label)
  • Auto-fill the following:
    • Item Code → Item Code (hidden)
    • GST % → GST % (hidden)
    • Marked Price → Marked Price (visible, read-only — this is the only pricing field the user sees)
    • Item Category → Item Category (hidden)

Keeping pulled fields hidden (except Marked Price) reduces visual clutter and prevents users from accidentally focusing on intermediate values rather than their actual task.

Part B — User-Entered Fields

These are the fields the order taker fills in manually:

  • Quantity - Number Input (mark as Required)
  • Delivery Date - Date Selector (mark as Required)
  • Supply - Single Selector with options: First Supply, Second Supply (mark as Required)
  • Time - Time Selector (mark as Required; set the default to current time using NOW())
  • Your Name - Single Line Text (mark as Required)

Step 4: Add the Pricing and GST Formulas

This is the core of the automation. All pricing fields are hidden from the user, they exist purely for backend calculation and reporting.

Add a Calculation & Logic block for each of the following. Mark each as Hidden.

Formula 1: Rate After Discount

{markedprice} - {markedprice} * ({discount} / 100)

What it does: Deducts the dealer's discount percentage from the Marked Price to get the effective selling rate.

Example: Marked Price = ₹100, Discount = 10% → Rate After Discount = ₹90

Formula 2: Basic Rate (Pre-GST Rate)

({rate_after_discount} * 100) / (100 + {gst_percent})

What it does: Back-calculates the base price before GST, since Marked Price is typically inclusive of tax.

Example: Rate After Discount = ₹90, GST = 12% → Basic Rate = ₹80.36

Formula 3: Total Basic Amount

{basic_rate} * {quantity}

What it does: Multiplies the pre-GST rate by the quantity ordered.

Example: Basic Rate = ₹80.36, Quantity = 10 → Total Basic = ₹803.6

Formula 4: CGST Amount

({total_basic} * ({gst_percent} / 100)) / 2

What it does: Calculates the Central GST component — half of the total GST on the order.

Example: Total Basic = ₹803.6, GST = 12% → CGST = ₹48.22

Formula 5: SGST Amount

({total_basic} * ({gst_percent} / 100)) / 2

What it does: Calculates the State GST component — equal to CGST.

Example: SGST = ₹48.22

Formula 6: Total Bill Amount

{total_basic} + {cgst_amount} + {sgst_amount}

What it does: The final invoice value — pre-GST amount plus both GST components.

Example: ₹803.6 + ₹48.22 + ₹48.22 = ₹900.04

All six formula fields should be marked as Hidden. Users don't need to see intermediate values as they just need to submit the order. The calculated data is still available in submissions, analytics, and any future exports or reports.

Step 5: Add Delivery Slot and Date Validations

This is the most important layer of logic in the app. It prevents orders from being placed with the wrong supply slot or wrong delivery date, which are among the most common errors in distribution workflows.

Validation 1: Supply Slot Time Check

How it works: Add a hidden Calculation & Logic block called Computed Supply from Time. This field determines which supply slot is correct based on the time the order is being placed:

IF(AND({time_selector} >= "06:00", {time_selector} <= "11:30"), "Second Supply", "First Supply")

What it does: If the order is placed between 6:00 AM and 11:30 AM, the system expects the user to select Second Supply. Outside that window, it expects First Supply.

Now add a Validation block. Set the validation type to Custom and configure it as:

  • Condition: {supply} <> {computed_supply_from_time}
  • Validation Level: Error
  • Validation Message: Please select correct delivery option. Second Supply timings: 6:00 AM to 11:30 AM.

This blocks submission entirely if the user's Supply selection doesn't match the system-computed expectation.

Validation 2: Delivery Date Check for First Supply

How it works: Add another hidden Calculation & Logic block called Expected Delivery Date for First Supply. The logic checks whether a First Supply order placed on the current day should use today's date or the next day's date, based on the time of order entry and the selected delivery date.

IF(

  AND({supply} = "First Supply", {time_selector} > "11:30"),

  {delivery_date} + 1,

  {delivery_date}

)

Now add a second Validation block:

  • Condition: AND({supply} = "First Supply", {delivery_date} <> {expected_delivery_date_first_supply})
  • Validation Level: Error
  • Validation Message: Please select next day's date for First Supply.

This ensures that when placing a First Supply order after the Second Supply window has closed (i.e., after 11:30 AM), the rep must select tomorrow's date as the delivery date and not today's.

Step 6: Configure Access and Distribute to Mobile

Once the app is set up, you need to give the right people access and make sure it works in the field.

Setting Up User Access

In the Distribute tab of the app, go to Users and invite your order-entry team. For field reps who only need to submit orders, assign them the Submitter role; they can fill and submit forms but cannot edit the app design or view other users' submissions unless you configure that in the app's Submission Access settings.

For supervisors or managers who need to review all orders, assign the Reviewer role or give them Custom access.

Using the App on Mobile

The Clappia mobile app is available on both Android and iOS. Once your reps log in, the Daily Order Entry app will appear on their dashboard. The lookup fields, formula calculations, and validations all work identically on mobile. There is no extra setup for the mobile app.

Offline mode: Clappia supports offline data entry. Reps in areas with poor connectivity can fill out orders offline, and submissions will sync automatically once connectivity is restored. This is particularly useful for field sales teams covering remote routes.

Step 7: Extend to Short Shelf-Life Products

If your business also handles perishable or fast-moving items, you can replicate the entire order app and point the product lookup to the Short Shelf-Life master instead.

The pricing formulas (Rate After Discount, Basic Rate, CGST, SGST, Total Bill) remain identical. You may want to adjust the delivery date logic, fresh items often have tighter lead times and might require same-day or next-morning delivery rules rather than the First/Second Supply window used for long shelf-life items.

To clone the order app: go to Design App > Configuration > Clone App. This creates a copy you can modify without affecting the original.

What the Submission Data Looks Like

Once orders start coming in, each submission contains:

FieldVisibilityValue Type
Dealer NameVisiblePulled from master
Product NameVisiblePulled from master
MRPVisiblePulled from master
QuantityVisibleUser entered
Delivery DateVisibleUser entered
SupplyVisibleUser selected
CGST AmountHiddenAuto-calculated
SGST AmountHiddenAuto-calculated
Total Bill AmountHiddenAuto-calculated
Route DetailsHiddenPulled from master

All fields — visible or hidden — are captured in the submission and available in the Submissions view, exports, and analytics.

Testing Checklist

Before rolling out to your team, run through these scenarios:

  • Select a dealer - verify Dealer Name, Discount, and Route Details auto-fill correctly
  • Select a product - verify Marked Price, GST %, and Item Code auto-fill
  • Enter a quantity - verify Total Bill Amount calculates correctly
  • Set time to 09:00, select First Supply - confirm the validation error appears
  • Set time to 09:00, select Second Supply - confirm submission goes through
  • Set time to 14:00, select First Supply, enter today's date - confirm delivery date validation fires
  • Set time to 14:00, select First Supply, enter tomorrow's date - confirm submission goes through
  • Try submitting without Quantity or Delivery Date - confirm required-field errors appear
  • Test on mobile - verify all lookups, formulas, and validations work

Summary

Here's what this app system gives you:

  • Accurate pricing every time: no manual discount or GST calculation by field reps
  • Compliant GST splits: CGST and SGST are automatically derived from the item's HSN-linked tax rate
  • Zero wrong-slot orders: time-based validation prevents mismatched supply selections
  • Correct delivery dates: the form enforces next-day dates for First Supply when placed late
  • Mobile-ready, offline-capable: works in the field without reliable internet
  • Scalable: extend to fresh products, new routes, or additional SKU categories without rebuilding from scratch

The combination of master data lookups, hidden formula logic, and submission-time validations means your order entry process is accurate by design, not by hope.

Built using Clappia — a no-code platform for building business process apps. For more guides, visit the Clappia Help Centre.

FAQ

Start Building Your No-Code Order Entry App with Automated Pricing & Tax Today!

Start Building Your No-Code Order Entry App with Automated Pricing & Tax Today!Get Started – It’s Free

Start Building Your No-Code Order Entry App with Automated Pricing & Tax Today!

Summary

Close