← Back to home

How it works

Every workflow, end to end.

From the buyer PO landing in your inbox to the CM invoice going out — here is exactly how StitchFlow runs each part of a CMT factory.

1. Order Intake → TNA Generation

flowchart TD
    A(["Omega Line sends Sub PO
tech pack PDF + PO email"]) --> B["Merchandiser creates
Style Master"] B --> C["Merchandiser creates
Sub PO"] C --> D{"Style already
has costing?"} D -- No --> E["CM Costing form
created"] D -- Yes --> F["TNA sheet
auto-generated
14 milestones"] E --> G["MD reviews costing"] G -- Approved --> F G -- Rejected --> E F --> H["TNA milestones
tracked per PO"] H --> I{"PP Sample
approved?"} I -- No --> J["Sample cycle
see Flow 4"] I -- Yes --> K(["Bulk production
unlocked"]) style A fill:#E0F5FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style K fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

2. Fabric GRN → MRN → Cutting

flowchart TD
    A(["Fabric truck arrives"]) --> B["Store Keeper
creates GRN draft"] B --> C["Enters roll-level data
roll no · weight · shade · width"] C --> D["QC checks each roll
approve / reject"] D --> E["GRN submitted
status: Submitted"] E --> F["TNA milestone
Fabric Received auto-ticked"] F --> G{"Cut Order
requested?"} G -- Yes --> H["Cutting Master
creates Cut Order"] H --> I["Fabric MRN issued
from GRN rolls"] I --> J["MRN approved
fabric allocated"] J --> K["Bundles generated
QR code per bundle"] K --> L(["Cutting starts"]) style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style L fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

3. CM Costing & MD Approval

flowchart TD
    A(["Sub PO exists"]) --> B["Merchandiser fills
CM Costing form
SAM · CPM · Efficiency"] B --> C["System calculates
CM/piece = SAM × CPM / Eff
Total CM = CM × Qty"] C --> D["Costing submitted
status: Pending"] D --> E["MD reviews
margin · buyer price · profit%"] E -- Approved --> F["status: Approved
TNA milestone ticked"] E -- Rejected --> G["Merchandiser revises"] G --> D F --> H{"Invoice
ready?"} H -- After dispatch --> I["CM Invoice generated
per shipment"] I --> J(["Invoice sent to Omega Line"]) style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style J fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

4. Sample Cycle

flowchart TD
    A(["Sub PO created"]) --> B["Sample Request raised
type: Fit / PP / Size Set / Sealer"] B --> C["Sample made in
sample room"] C --> D["Sample submitted
to buyer / Omega Line"] D --> E{"Buyer decision"} E -- Approved --> F["status: Approved
attempt logged"] E -- Rejected --> G["Rejection remarks
recorded"] G --> H{"Max attempts
reached?"} H -- No --> C H -- Yes --> I["Escalate to MD"] F --> J{"Sample type
PP?"} J -- Yes --> K(["Bulk cutting
unlocked"]) J -- No --> L(["Next sample type
triggered"]) style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style K fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

5. Cut → Bundle → Sewing → Daily Production

flowchart TD
    A(["Cut Order approved
fabric MRN issued"]) --> B["Cutting Master
lays fabric
records layers · marker eff"] B --> C["Bundles generated
QR: PO-Color-Size-SeqNo"] C --> D["Line Supervisor
scans bundle in"] D --> E["Line Allocation
PO assigned to line
start/end dates · daily target"] E --> F["Hourly production entry
by Line Supervisor"] F --> G["System calculates
efficiency · DHU · trend"] G --> H{"End of day"} H -- Continue --> F H -- Line done --> I["Sewing output
matches target?"] I -- Yes --> J(["Bundle moves to
Finishing / QC"]) I -- No --> K["Production Manager
reviews shortfall"] K --> F style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style J fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

6. QC Inspection → Rework

flowchart TD
    A(["Garments reach
QC checkpoint"]) --> B["QC Inspector creates
Inspection Record
type: Inline / Endline / Final / AQL"] B --> C["Records defects
defect type · severity · qty"] C --> D["System calculates
DHU · AQL result"] D --> E{"Inspection result"} E -- Pass --> F(["Garments proceed
to next stage"]) E -- Conditional Pass --> G["Minor remarks
logged"] G --> F E -- Fail --> H["Rework Order
created from inspection"] H --> I["Assigned to operator
defect type · pieces"] I --> J["Operator starts rework
timestamp recorded"] J --> K["Re-inspection
by QC"] K -- Fixed --> L["status: Fixed
pieces back to line"] K -- Rejected --> M["status: Rejected
downgraded / scrapped"] L --> F style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style F fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

7. Packing → Dispatch → Invoice → PO Close

flowchart TD
    A(["Finished goods QC
passed"]) --> B["Packing List created
per Sub PO"] B --> C["Cartons entered
color · size · pcs · weight · dims"] C --> D["Fulfillment checked
ordered vs packed vs balance"] D --> E{"All ordered
qty packed?"} E -- No --> C E -- Yes --> F["Packing List
status: Completed"] F --> G["Dispatch Record
created
carrier · AWB · date"] G --> H["Sub PO status
Shipped"] H --> I["CM Invoice
auto-generated
Total CM = CM/piece × shipped qty"] I --> J["Invoice sent
to Omega Line"] J --> K{"Payment
received?"} K -- Yes --> L["Sub PO
status: Closed"] K -- Pending --> M["Follow-up"] M --> K style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style L fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

8. Fabric Reconciliation

flowchart TD
    A(["GRN submitted
fabric received"]) --> B["Roll-level
stock tracked"] B --> C["MRN issued
for cutting"] C --> D["Consumed qty
recorded from
cut order"] D --> E["Reconciliation report
Received · Issued · Consumed · Wastage"] E --> F{"Wastage %
vs allowed?"} F -- Within limit --> G["status: Within
Signed off"] F -- Exceeds limit --> H["status: Exceeds
flagged for MD"] H --> I["Investigation
shrinkage / theft / error"] I --> J["Remarks recorded"] J --> G style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style G fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

9. Consumables BOM & Usage

flowchart TD
    A(["Style Master
created"]) --> B["Store Keeper sets up
Consumable BOM
item · category · qty/piece · waste%"] B --> C["BOM items defined
Thread · Labels · Packaging
Trims · Accessories"] C --> D{"Production
starts?"} D -- Yes --> E["Daily usage
recorded against BOM
qty issued · date"] E --> F["Actual vs BOM
comparison tracked"] F --> G{"Usage within
BOM estimate?"} G -- Yes --> H(["Continue production"]) G -- Exceeds --> I["Flag to
Production Manager"] I --> H style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style H fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

10. HR — Attendance → Payroll → Bank Files

flowchart TD
    A(["End of month"]) --> B["ZKTeco attendance
file imported
CSV / Excel"] B --> C["System processes
check-in / check-out per employee"] C --> D["OT auto-calculated
1.5x normal · 2x weekend · 2x holiday"] D --> E["Leave deductions
applied from leave balances"] E --> F["Salary Advance
recovery deducted"] F --> G["Payroll generated
Basic · OT · Incentive · Gross
EPF 8% · Net"] G --> H["MD reviews
payroll summary"] H -- Approved --> I["Payslips generated
PDF per employee"] I --> J["Bank files generated
per bank: BOC · Commercial
Sampath · HNB · NSB"] J --> K["EPF / ETF return
report generated"] K --> L(["Files submitted
to bank / Labour Dept"]) style A fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style L fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px

11. Full Order Lifecycle (Summary)

flowchart LR
    PO(["Sub PO
Received"]) --> S["Style
Master"] S --> TNA["TNA
Auto-gen"] S --> CST["CM
Costing"] TNA --> GRN["Fabric
GRN"] TNA --> SMP["Sample
Cycle"] GRN --> CUT["Cut
Order"] SMP --> CUT CST --> CUT CUT --> BND["Bundles
QR"] BND --> SEW["Sewing
Lines"] SEW --> QC["QC
Inspection"] QC -- Fail --> RWK["Rework"] RWK --> QC QC -- Pass --> PKG["Packing
List"] PKG --> DIS["Dispatch"] DIS --> INV["CM
Invoice"] INV --> CLO(["PO
Closed"]) style PO fill:#E0F2FE,color:#0f172a,stroke:#0f172a,stroke-width:1px style CLO fill:#D1FAE5,color:#0f172a,stroke:#0f172a,stroke-width:1px