GST Validation And Supplier Blocking Flows

This document maps the GST validation, GST ownership, GST-invalid, and GST-fraud flows seen across supplier-ums, supplier-store, supply-orchestrator, and supplier panel surfaces.

The charts are intentionally vertical and narrow. The descriptions call out which flows directly change supplier validity and which only update KYC metadata, ownership state, or UI visibility.

Quick State Model

Key supplier-store fields and tables to inspect when a seller appears blocked under GST-invalid/Fraud:

Area Field / Table Meaning
Account validity supplier.valid, supplier_legacy.valid Whether supplier is active.
Deactivation type validChangeType 1 active, 2 temporary delete, 3 permanent delete, 4 under review.
QC status qcStatusId 13 means Fraud supplier deactivation; this can exist even when valid=1 if updated incorrectly.
GST KYC supplier_kyc.gstin_status Final GST status. Approved requires active GST plus OTP verified.
GST active status supplier_kyc.gstin_active_status Active/inactive/rejected outcome from GST/EID validation.
OTP ownership supplier_kyc.gstin_otp_verification_status Whether GST registered contact ownership is verified.
Registered contact gstin_registered_mobile, gstin_registered_email GST/EID registered contacts used for OTP/contact matching.
GST-invalid banner supplier attribute gst_invalid_banner Enables GST-invalid self-serve reactivation banner.
Reactivation freeze supplier attribute last_reactivation_attempt_at Used to enforce reactivation cooldown.
GST fraud gst_fraud_supplier Tracks fraud GST, delinked state, delinked time, verification time.
GST ownership kyc_doc_claimed_status Maps GSTIN/PAN SHA to supplier and ownership state.
Transition mapping supplier_gst_transition Old supplier to new supplier mapping for NGST-to-GST transition.
Transition enablement supplier attribute enable_gst_transition Controls whether NGST-to-GST transition UI/pill is shown.
Registration fraud score user_fraud_status_scores Stores green/yellow/red fraud result during registration.
Fraud model input fraud_suppliers_data UMS-side lookup table populated from fraud model output and supplier-store data.
Audit trail status_change_logs, KYC logs Shows who changed valid/QC/KYC state.

Flow 1: Registration GSTIN Save

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 2: Registration Enrolment / Non-GST Save

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 3: KYC Validation During Registration

[Diagram]

Entry point:

Detailed behavior:

Final GST rule:

APPROVED only when:
  gstin_active_status == approved
  and gstin_otp_verification_status == true

If GST is active but OTP is false:
  gstin_status = pending

Blocking impact:

Flow 4: GST Registered Contact And OTP During Registration

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 5: Supplier Creation Finalization

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 6: Supplier-Store Create/Update GST Ownership Event

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 7: GSTIN OTP Toggle / Delink Fraud Event

[Diagram]

Event:

Trigger sources:

Detailed behavior when OTP is true:

Detailed behavior when delinked:

Blocking impact:

Flow 8: Admin Delink Or Fraud Marking

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 9: GST Invalid Batch Deactivation

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 10: GST Invalid Self-Serve Reactivation

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 11: NGST To GST Transition

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 12: Admin KYC Refresh

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 13: Supplier KYC Contact Sync Scheduler

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 14: Bulk Fraud GST Operational Scripts

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 15: Manual QC Fraud Status

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 16: Read And UI Gating Flows

[Diagram]

Read APIs and UI surfaces:

Detailed behavior:

Blocking impact:

Flow 17: GST Transition Enablement Scheduler

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 18: Assisted / LeadSquared Supplier Creation

[Diagram]

Entry point:

Detailed behavior:

Blocking impact:

Flow 19: Registration Fraud Score And Delinked GST Check

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 20: Warehouse Onboarding GST Ownership Check

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Flow 21: Supporting GST Validation And Control APIs

[Diagram]

Entry points:

Detailed behavior:

Blocking impact:

Recommended PFS Segmentation

Use this order when classifying rural sellers found under GST-invalid/Fraud:

[Diagram]

Suggested checks:

  1. Check account state:
    • valid
    • validChangeType
    • deactivation reason/date/by
    • deactivation metadata
  2. Check QC state:
    • qcStatusId
    • supplier_qc_statuses
    • status_change_logs
  3. Check GST-invalid:
    • gst_invalid_banner
    • last_reactivation_attempt_at
    • deactivation reason contains inactive GSTIN
  4. Check GST fraud:
    • gst_fraud_supplier.is_fraud_gst
    • gst_fraud_supplier.is_delinked
    • delinked_time
    • verification_time
    • gstin_otp_verification_status
  5. Check GST ownership:
    • kyc_doc_claimed_status.doc_sha
    • ownerShipState
    • mapped supplier ID
  6. Check duplicate GSTIN:
    • supplier IDs for same GSTIN SHA
  7. Check GST transition:
    • supplier_gst_transition.old_supplier_id
    • new_supplier_id
    • is_same_pan
  8. Check GST transition enablement:
    • supplier attribute enable_gst_transition
    • supplier panel experiment config
    • Presto model row from gold.ngst_transition_tech_input
  9. Check registration fraud scoring:
    • user_fraud_status_scores.fraud_status_flag
    • fraud_reasons_value
    • delinked GSTIN reason
    • duplicate bank account reason
  10. Check warehouse onboarding ownership failures:
  1. Check supporting validation controls:
  1. Check operational scripts:

Flow-To-Block Mapping

Flow Directly blocks supplier? Typical label
Registration GSTIN save No, blocks registration Invalid/inactive GSTIN at onboarding
Registration KYC Can create invalid supplier KYC pending/rejected
GST registered contact OTP Indirect GST OTP pending
Supplier create/update claim event No GST ownership metadata
GSTIN OTP toggle/delink event Yes GST fraud/delink
Admin delink Yes/indirect GST fraud/delink
GST invalid batch Yes GST-invalid
GST invalid reactivation Unblocks Reactivated/GST active
NGST-to-GST transition Yes for old supplier if same PAN GST transition
Admin KYC refresh No KYC refreshed
KYC contact sync No Contact updated
Bulk scripts Yes for some scripts GST fraud/backfill
Manual QC fraud status Can label/block depending fields Fraud supplier deactivation
UI/read gating No Banner/feature hidden
GST transition enablement scheduler No Enables/hides transition CTA
Assisted LeadSquared creation No post-registration block Assisted onboarding GST/KYC rejection
Registration fraud score and delinked GST check Indirect Fraud/red onboarding signal
Warehouse onboarding GST ownership check No parent block Warehouse creation rejected
Supporting GST validation/control APIs Indirect Status check/contact retry/provider behavior