← Back to Work

Backend · 2025 · Paismo

Paismo HRMS

Bi-directional payroll sync with QuickBooks and Xero

Role: Backend Engineer III

Node.jsNestJSPostgreSQLUnified.toNx Monorepo

0 hrs

Manual Reconciliation

Eliminated entirely

2

Integrations

QuickBooks + Xero live

Bi-dir

Sync Direction

Full two-way sync

100%

Audit Coverage

All events logged

The Challenge

  • No reporting mechanism existed — admins had no way to generate consolidated employee reports
  • Employee record changes had no audit trail making compliance and HR traceability impossible
  • Clients on external platforms like QuickBooks and Xero had no way to sync data with Paismo
  • Integration needed to be provider-agnostic and support multiple accounting platforms without rebuilding each time

Process

  • 01Designed the Reporting Engine from scratch covering payroll, attendance, timesheets, leave balances and deductions in one unified report
  • 02Built Employee Lifecycle module as an immutable audit log — every change to any employee record creates a new history entry
  • 03Architected Synapse Integration as a standalone NestJS microservice in an Nx monorepo with its own deployment boundary
  • 04Implemented OAuth flow, connection management and cron-based scheduler for automatic bi-directional syncs via Unified.to API
  • 05Designed entity mapping tables and snapshot tracking so syncs are resumable and idempotent

The Solution

  • Reporting Engine generating comprehensive monthly reports combining data from all HRMS modules
  • Employee Lifecycle module providing full immutable audit trail meeting ISO 27001 compliance requirements
  • Synapse Integration microservice enabling bi-directional sync between Paismo and QuickBooks and Xero
  • Architecture designed to add new integration providers without rebuilding core sync logic

Architecture

1

Synapse Integration Microservice

Standalone NestJS service handling all external accounting integrations. Unified.to abstraction means adding a new accounting provider requires zero changes to core HRMS logic.

2

Reporting Engine

PostgreSQL-backed reporting layer with dynamic query generation. HR managers can define report schemas and schedule automated exports without engineering involvement.

3

Employee Lifecycle Module

Covers onboarding, role changes, leaves, and offboarding with state machine-driven transitions. Each lifecycle event emits domain events consumed by payroll, reporting, and integrations.

Takeaways

  • Built three independent features that became core parts of the Paismo product
  • Gained deep experience with microservice boundaries, Nx monorepos and event-driven sync patterns
  • Strengthened understanding of compliance requirements in HR software at scale