Invoice Management: Complete Operations Guide

The Invoice module is your all-in-one solution for generating, managing, and distributing professional, GST-compliant tax invoices.

Whether you are on a desktop workstation or a mobile device in the field, every feature is optimized for speed, clarity, and one-tap execution.

Invoice Creation

The creation form is structured into collapsible cards for focused editing.

Form Sections

  • Basic Details — Invoice number (auto or manual), party name, LR number, date, due date, shipment type, route, vehicle number
  • Billing, Consignor & Consignee — Name, phone, address, GSTIN, location for both sender and receiver
  • Package Details — Total weight, package count, HSN/SAC codes
  • Insurance — Dynamic percentage settings for premium or declared value
  • Payment & Tax — Freight charges, advance payments, additional charges, discounts, GST type (IGST / CGST+SGST), payment remarks

All values are auto-validated before submission. Totals and GST update in real-time as you type.

Dashboard Statistics

Four stat cards sit above the list, updating automatically as you add, delete, or modify invoices.

Total Invoices

All-time count

Paid

Marked as paid

Unpaid

Pending payment

Total Value

Combined ₹ value

Each card features a distinct color accent and an icon for at-a-glance recognition.

Invoice List View

Invoices are displayed in a high-density table on desktop and collapsible cards on mobile.

Desktop Table Columns

  • # — Serial number
  • Invoice Details — Number + creation date (green Latest badge on newest)
  • Customer Details — Bill-to name, avatar initial, clickable phone link
  • Location — Origin city (green) → Destination city (red)
  • Amount — Bold, Indian-formatted rupee value
  • Status — Interactive paid/unpaid toggle switch
  • Actions — Three-dot dropdown menu

Records sort by invoice number descending (newest first). Infinite scroll loads 10 records initially, then auto-fetches the next batch as you scroll.

Payment Status Toggle

Every invoice has a binary status: Paid or Unpaid. Change it directly from the list view.

  1. Toggle the switch on any row.
  2. When switching Unpaid → Paid, a confirmation modal appears. Click "Yes, Mark as Paid" to confirm.
  3. Switching Paid → Unpaid happens instantly without confirmation.
  4. Dashboard stats recalculate immediately.

Tip: Field agents can update cash or UPI collection status in real time from a mobile device.

View Invoice PDF

Opens the generated PDF in a new browser tab for quick verification.

  1. Click the three-dot menu on any invoice row.
  2. Select View Invoice.
  3. The PDF opens in a new tab with your company branding.

Note: The PDF is generated server-side on demand via /api/invoice/generate-pdf/. It is cached locally for 3 minutes. A duplicate-guard ref prevents double-clicks from opening multiple tabs.

Download / Save PDF

Saves the invoice PDF to your device with a standardized filename.

  1. Click the three-dot menu on any invoice row.
  2. Select Save PDF.
  3. The file downloads as invoice-{number}.pdf.

Tip:On mobile, if the download does not start automatically, check your browser's download manager or notification shade.

Share Invoice

Distributes the PDF via your device's native share sheet or clipboard.

  1. Click the three-dot menu on any invoice row.
  2. Select Share Invoice.
  3. On mobile, the system share sheet opens — choose WhatsApp, email, or any app.

Fallback: If native sharing is unavailable, BSTD copies the secure PDF URL to your clipboard. If clipboard access is blocked, it auto-downloads the file for manual attachment.

Edit Invoice

Opens the invoice form pre-filled with existing data for quick corrections.

  1. Click the three-dot menu on any invoice row.
  2. Select Edit.
  3. The form opens at /v1/invoice?edit={number} with all data restored.
  4. Make changes and save. The PDF reflects updates immediately.

Note: The invoice number remains unchanged during an edit, maintaining link consistency for any PDFs already shared.

Delete Invoice

Permanently removes an invoice from your records.

  1. Click the three-dot menu on any invoice row.
  2. Select Delete.
  3. A confirmation dialog appears with the specific invoice number. Click Delete to confirm.

Warning: Deletion is irreversible. The record and its PDF are removed immediately. Export a backup first if needed.

Create New Invoice

Initiate a new invoice from two locations on the list page.

Entry Points

  • Hero Button — At the top of the page next to Refresh.
  • Floating Action Button (FAB) — Large blue circle with a plus icon, fixed to the bottom-right corner. Stays visible while scrolling.

Both buttons route to /v1/invoice?addnew=true. A toast "Opening new invoice form..." confirms the action.

Refresh Data

Re-fetches the entire dataset from the server. Useful for multi-user synchronization.

  • Full Reload: Clears local cache, shows skeleton loading state, and pulls the latest records.
  • Search Preserved: Your active search query is not cleared.
  • Toast Confirmation: "Refreshing data..." followed by "Loaded N invoices".

Mobile & Desktop Views

The Invoice List adapts its layout based on screen width.

Desktop (md and above)

  • Seven-column table with hover row highlighting.
  • Dropdown menus with viewport-aware positioning.
  • Fixed action columns for easy scanning.

Mobile (below md)

  • Card layout with stacked information.
  • Thumb-sized tap targets (minimum 44×44 pt).
  • Tapping a phone number initiates a native call.
  • Floating scroll-to-top arrow after 300px scroll.

Notifications & Feedback

BSTD uses non-blocking toast notifications in the bottom-right corner. Auto-dismiss after 3.5 seconds.

Success (Emerald)

Invoice deleted

Error (Red)

Download failed

Info (Blue)

Opening PDF...

Multiple toasts stack vertically so rapid actions produce a readable queue rather than overlapping noise.

UX Tips & Shortcuts

Maximize efficiency with these built-in interaction patterns.

  • Dropdown Auto-Close: Click outside, scroll, or resize to close orphaned menus.
  • PDF Preloading: Hover over View for 200ms to trigger a silent fetch.
  • Search Clear: Press Escape while focused to clear instantly.
  • Phone Links: Tapping a number opens the dialer pre-filled on telephony-enabled devices.
  • Color Language: Emerald = paid/success, Amber = unpaid/pending, Rose = monetary, Blue = info.

Troubleshooting

Common issues and their resolutions.

PDF fails to open or download

Ensure popups are allowed from bstd.digital.thugo.in. Verify your company ID is saved in localStorage and your auth token has not expired. Retry after 30 seconds or contact support.

Search returns no results

The search covers only loaded records. Scroll to the bottom to trigger infinite scroll and load older data, then search again.

Status toggle not saving

If the switch reverts after confirming, your auth token may have expired. Refresh the page to re-authenticate and verify write permissions.

Share sheet does not appear on mobile

Native sharing requires HTTPS and a modern browser (Chrome 89+, Safari 13+). BSTD falls back to clipboard copy or direct download if unavailable.

Dashboard stats seem incorrect

Click Refresh to synchronize all records. Total value sums only numeric totals; null or zero amounts are excluded from the sum but counted in quantity.

Duplicate PDF tabs open

The duplicate-guard ref should block double-clicks. If multiple tabs still open, wait 2 seconds between clicks, or use Download instead of View.