How this works
Generate pulls the module template (Finance or Sales) from ThreadBI-Engine/templates/modules/<module>, substitutes per-client placeholders (warehouse, colors, IDs), and commits the SemanticModel + Report folders to the client's DevOps repo. A subsequent Fabric Git sync from the Clients panel imports the items into the workspace and updates embed.ReportCatalog so thread.bi can embed them.
• Finance template: ARInvoice, APInvoice, GL — AR aging, DSO, gross margin
• Sales template: SalesOrder, Shipment — order qty, ship rate, backlog