Skip to content

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

  • Technology Stack


    Exactly what the system is built with — VB.NET, .NET Framework 3.5, WinForms, SQL Server, Crystal Reports — and why.

  • Architecture


    The layers, the split between the app and the FrameWork, and how a click becomes a database write.

  • Database & Domain


    Table conventions, the stock accumulator model, average costing, and how transactions post.

  • Product Modules


    POS & sales, purchasing & approvals, promotions & loyalty, reporting, inter-branch sync, and service.

  • Security & Access


    Users, per-form permissions, the audit trail, and the known weaknesses.

  • Build & Deploy


    How to build with Visual Studio 2008 / MSBuild, the external DLL dependencies, and registry configuration.

  • Glossary


    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.