Portfolio/Salync
SaaS PlatformMulti-TenantEnterprise

Salync

A production-grade, multi-tenant B2B SaaS platform covering the complete operational lifecycle for distribution companies — sales, procurement, inventory, payroll, and double-entry financial accounting.

IndustryDistribution / Wholesale
TypeMulti-Tenant SaaS
PlatformsWeb + iOS + Android
ArchitectureClean Architecture + CQRS
AuthOAuth 2.0 + OpenID Connect
DatabaseSQL Server (3 databases)

Executive Summary

What Salync is

Salync is a multi-tenant SaaS platform built specifically for distribution companies — businesses that buy goods from suppliers and sell to customers across multiple locations and sales teams. It replaces the patchwork of spreadsheets, standalone accounting tools, and manual processes that most SME distributors rely on.

The platform covers every core operational workflow: sales invoice creation, purchase order management, real-time inventory tracking across warehouse locations, complete double-entry financial accounting, payroll management, and performance reporting. Field salesmen access the platform via a cross-platform mobile app with GPS tracking and offline-capable order creation.

Unlike generic ERP systems that require months of configuration consulting, Salync is purpose-built for distribution. The data model, workflows, and reporting reflect how distribution companies actually operate — not how a generic enterprise system thinks they should.

Business Challenge

The problem distribution companies face

Distribution companies operating at scale face a common set of operational challenges: inventory scattered across multiple locations with no real-time visibility, sales teams creating invoices manually or in offline spreadsheets, accounting that lags days behind operations, and management reporting that requires manual consolidation.

Generic ERP systems exist, but they are designed for manufacturing or retail — not distribution. They require expensive implementation projects, don't fit distribution-specific workflows like location-scoped sales policies or salesman target tracking, and impose licensing costs that make per-location scaling prohibitive for SME distributors.

Field sales teams working from mobile devices compound the problem. Salesmen need to see stock availability, create orders, and collect payments in real time — without waiting for a desktop connection or a back-office team to process their paperwork.

Core Features

Platform capabilities

Sales Management

Complete sales lifecycle — invoices, orders, returns, exchanges, customer claims, and salesman performance targets.

  • Sale invoices with line items, discounts, and withholding tax
  • Sale returns and product exchanges
  • Customer claims management
  • Salesman target tracking and performance analysis

Procurement

End-to-end supplier management with purchase invoices, returns, and supplier claims.

  • Purchase invoice creation and approval workflow
  • Purchase returns tracking
  • Supplier claims and dispute management
  • Comprehensive party (customer/supplier) profiles

Inventory Management

Real-time stock tracking across multiple locations with brand and category hierarchies.

  • Real-time inventory tracking with movement history
  • Multi-location stock visibility
  • Brand → Category → Item hierarchical organization
  • Stock write-offs and adjustments
  • UOM (Unit of Measure) conversions

Financial Accounting

Full double-entry bookkeeping with general ledger, journal entries, and financial reporting.

  • Chart of accounts with GL structure
  • Double-entry journal entries (Dr=Cr enforced)
  • Multi-party vouchers for payments and receipts
  • Cost center allocation
  • Fiscal year management with open/close states
  • Party sub-ledger for AR/AP tracking

Payroll Management

Employee salary cycle management with configurable components and contract tracking.

  • Payroll run processing per period
  • Variable and fixed salary components
  • Employee contract management
  • Expense request and approval workflow

Reporting & Analytics

Comprehensive reporting suite covering sales, finance, and operational performance.

  • Daily Sales Report (DSR)
  • Cash receipts and day book
  • Profit & Loss statement
  • Inventory status and movement history
  • Party ledger statements
  • Party balance aging
  • PDF and Excel export

Multi-Tenant Platform

Softify-operated SaaS management layer for tenant provisioning and subscription management.

  • Tenant onboarding and provisioning
  • Subscription tier management
  • Automated company, location, and user setup
  • Cross-tenant platform administration

Mobile Field App

Cross-platform mobile application for field sales teams with offline-capable design.

  • Sale order and invoice creation on mobile
  • Real-time GPS location tracking
  • Push notification delivery
  • PKCE-secured OAuth 2.0 authentication
  • Encrypted token storage via Expo Secure Store
  • OTA updates without app store review

Architecture

Platform architecture overview

Salync follows a Clean Architecture approach across three separately deployed services, with a shared domain library and a dedicated multi-tenant data layer.

Frontend Layer

React 18 SPA with multi-portal design. Single build artifact serves the employee portal (tenant subdomain), admin portal, and platform admin — differentiated by route and hostname.

Mobile Layer

React Native via Expo managed workflow. Cross-platform iOS and Android app with PKCE authentication, GPS tracking, push notifications, and encrypted offline token storage.

Authentication (STS)

Duende IdentityServer 7 on a dedicated service. Issues JWT access tokens with embedded tenant_id, location_id, employee_role, and scope claims. Separate OIDC clients for web, mobile, and platform.

Business API

ASP.NET Core 8 with Clean Architecture and CQRS via MediatR. 68 controllers, scope-based authorization, global multi-tenancy query filters, rate limiting, and response compression.

Platform API

Dedicated API for SaaS platform operations — tenant provisioning, subscription management, and cross-tenant administration. Separate from the business API for security isolation.

Data Layer

Three separate SQL Server databases: SalyncSTS (identity), SalyncPlatform (provisioning), and SalyncOperations (all business data). EF Core with global query filters for tenancy.

Technology

Technology stack

frontend

React 18TypeScript 5Vite 5TanStack QueryZustandTailwind CSSRadix UIReact Hook FormZodAxiosRechartsLeaflet

mobile

React Native 0.85Expo 56Expo RouterExpo Auth SessionExpo Location (GPS)Expo NotificationsExpo Secure StoreReact Native Maps

backend

.NET 8ASP.NET CoreDuende IdentityServer 7Entity Framework Core 8MediatR (CQRS)FluentValidationDapperSQL Server 2022.NET Aspire

infrastructure

DockerGitHub ActionsAzure / AWSOpenTelemetryHealth ChecksBrotli/Gzip Compression

integrations

OpenID Connect (PKCE)OAuth 2.0Push NotificationsGPS Location TrackingPDF Export (html2canvas + jsPDF)Excel Export

Screenshots

Platform in action

Sales Dashboard

Mobile App — Sales

Inventory Management

Financial Reports

Mobile App — Orders

Analytics Dashboard

Engineering

Engineering highlights

Architectural and engineering decisions that make Salync production-grade, secure, and maintainable at scale.

Multi-Tenancy via Global Query Filters

Every entity in the ORM has a global query filter applying WHERE TenantId = @currentTenant AND IsDeleted = 0. Tenancy cannot be bypassed — it is enforced at the infrastructure layer, not per-query.

JWT-Embedded Tenant Context

TenantId, LocationId, EmployeeRole, and Scope are embedded directly in the JWT access token. No database lookup is required to determine who a user is or what they can access — authorization decisions are instantaneous.

Immutable Financial Records

Posted journal entries and stock movements are never modified. Corrections create reversal entries, preserving a complete, tamper-proof audit trail that satisfies accounting compliance requirements.

Three-Database Separation

Identity, platform provisioning, and business data are in three separate databases. This provides independent scaling, backup/restore per tenant, and clear security boundaries between SaaS infrastructure and customer data.

Double-Entry Bookkeeping Enforcement

Every financial transaction creates balanced journal entries (Debits = Credits). The platform sub-ledger derives AR/AP balances directly from journal lines, ensuring financial statements always balance.

Location-Scoped Visibility

An X-LocationId header enables location-level data isolation. Salesmen see only their location's data. Owners and managers can toggle across locations. The same codebase serves both use cases.

Purpose-Aware Rate Limiting

Three distinct rate limit tiers: 300 req/min globally per user, 6/min for GPS pings (tuned for 30-second mobile cadence), and 10/min for export operations that are CPU-intensive.

Mobile PKCE Authentication

The mobile app uses PKCE flow — no client secrets stored in the app binary. Tokens are stored in Expo Secure Store (encrypted at rest). Deep linking handles the OAuth callback without restarting the app.

Impact

Business outcomes

Real-time operational visibility

Owners and managers see live sales, inventory, and financial data across all locations — without waiting for end-of-day reports.

Faster sales cycle

Field salesmen create invoices and collect payments on mobile, reducing the time between order and processing from hours to minutes.

Accurate financial accounting

Double-entry bookkeeping enforced at the platform level eliminates manual reconciliation errors and ensures books close accurately.

Scalable multi-location operations

Adding a new location requires configuration, not engineering. Location-scoped data isolation keeps operations clean as the company grows.

Compliance-ready audit trail

Soft deletes, immutable financial records, and comprehensive logging provide the audit trail required for regulatory and tax compliance.

Reduced operational overhead

Automating payroll processing, inventory adjustments, and financial reporting reduces the manual workload on back-office teams significantly.

Need a similar platform?

We have the architecture patterns, domain knowledge, and engineering team to build your industry-specific SaaS platform from the ground up.

Start a conversation