SmartSoft Inventory — Internal Engineering Documentation¶
Welcome. This site is the single reference for how the SmartSoft Inventory / POS system is built: the technology it runs on, how the code is organised, how stock and money flow through it, and how to build, deploy, and reason about it.
Who this is for
Everyone at SmartSoft who touches the product — new engineers finding their feet, support staff tracing a bug back to a screen, and managers who need the shape of the system without reading VB.NET. Start with Getting Started if you are new, or jump straight to Technology Stack.
What is SmartSoft Inventory?¶
SmartSoft Inventory is a Windows desktop application for retail inventory and point-of-sale management. It handles the item catalogue, stock across branches and warehouses, purchasing and receiving, stock counts and adjustments, the cashier, and a large family of printed reports. Its business vocabulary is Indonesian (see the Glossary).
It is a layered system: a thin WinForms application (smartsoft_inventory) sitting on
top of a shared, reusable SmartSoft FrameWork (a set of VB.NET DLL assemblies in
framework_smartsoft) that holds the real business and data-access logic. Everything is
backed by a Microsoft SQL Server database.
flowchart TB
subgraph Client["🖥️ Windows Desktop (per till / back-office PC)"]
UI["Inventory App<br/><i>VB.NET WinForms</i>"]
FW["SmartSoft FrameWork DLLs<br/><i>BLL · Data Access · GUI · Printing</i>"]
UI --> FW
end
subgraph Server["🗄️ Store / HQ Server"]
DB[("Microsoft SQL Server<br/><i>tbMaster_ · tbTr_ · tv_</i>")]
end
Peripherals["🧾 Receipt printer · barcode scanner · cash drawer"]
FW -->|"ADO.NET / SQL"| DB
UI --- Peripherals
style Client fill:#e8eaf6,stroke:#3f51b5
style Server fill:#e0f2f1,stroke:#00897b
Explore the docs¶
-
Exactly what the system is built with — VB.NET, .NET Framework 3.5, WinForms, SQL Server, Crystal Reports — and why.
-
The layers, the split between the app and the FrameWork, and how a click becomes a database write.
-
Table conventions, the stock accumulator model, average costing, and how transactions post.
-
POS & sales, purchasing & approvals, promotions & loyalty, reporting, inter-branch sync, and service.
-
Users, per-form permissions, the audit trail, and the known weaknesses.
-
How to build with Visual Studio 2008 / MSBuild, the external DLL dependencies, and registry configuration.
-
The Indonesian → English domain dictionary you will need on day one.
The system at a glance¶
| Aspect | Summary |
|---|---|
| Type | Windows desktop POS / inventory management application |
| Language | VB.NET |
| Runtime | .NET Framework 3.5 (x86) |
| UI | WinForms + third-party skinning controls |
| Database | Microsoft SQL Server (2005 / 2014-era) |
| Reporting | Crystal Reports |
| Build tool | Visual Studio 2008 / MSBuild (Windows only) |
| Shared code | The SmartSoft FrameWork — external DLL assemblies |
| Domain language | Indonesian |
| Deployment | Installed per-PC via a VS setup project; config in the Windows Registry |
This documents a legacy system as-is
The goal here is an accurate map of the system as it exists today — including its
rough edges. Where a pattern is risky (unparameterized SQL, reversible-cipher
passwords, MAX()+1 numbering), the docs call it out on the
Known Issues page rather than pretending it away. That honesty is
what makes the docs useful for support and for any future modernization.