Skip to content

Payroll-as-a-Service

Service ownership

Owner: application-services (apps-pm@clouddigit.ai) — Status: GA — Last audited: 2026-05-11

Bangladesh-compliant payroll: AIT, NID, BB FX, Provident Fund, Gratuity — with bank disbursement and salary-portal handoff.

What it is

Off-shore payroll SaaS (BambooHR, Workday, Paylocity) doesn't know what AIT slabs are, can't issue Bangla-printable salary slips, and stores your employee NID data outside BD. Payroll-as-a-Service is the on-shore alternative.

What it does

Function Detail
Salary calculation Slab-based AIT, deductions, allowances, overtime
AIT (income tax) at source Per current NBR rules; auto-update on annual changes
Provident Fund (PF) Employer + employee contributions, statement output
Gratuity accrual Per labour law calculation
Salary slip Bangla / English / dual-language; PDF + portal
Bank disbursement Bulk file for BEFTN; BB-compliant remitter records
Statutory reports Monthly to RJSC / RTL where applicable
Yearly tax certificate For each employee
TDS challan generation For NBR submission
Employee self-service Portal — payslip, leave, tax certs
Bangla-name handling Unicode and transliteration both supported

Tenancy

  • Multi-tenant for SME — fastest, cheapest
  • Single-tenant for FI / large enterprise — dedicated install with audit isolation

Integration

  • ERP / HRIS (HR module of ERP-as-a-Service, or your existing system) via API
  • Bank disbursement — direct integration with major BD banks for BEFTN / EFT handoff
  • Time & attendance — bring your own (biometric, RFID); we ingest CSV / API

Pricing

Per-payslip-month, tier by employee count. See Pricing.

Operate this service

BD-localized payroll: tax calc per NBR rules, statutory contributions, bKash/bank disbursement.

Compliance

  • NBR income tax (current rates auto-updated)
  • Provident fund (where applicable)
  • Gratuity calculation
  • VAT on services (where applicable)
  • Maternity / sick leave per Labor Act

CD's payroll team maintains the rule engine as regulations change.

IAM

Role Can do
payroll.viewer View own pay slip
payroll.hr Manage employees, run payroll
payroll.finance Approve disbursements
payroll.admin Manage configuration, audit log

payroll.hr and payroll.finance should be separate people (segregation of duties).

Run cadence

Monthly default. Bi-weekly / weekly available for specific industries.

Integration

Upstream Method
HRMS (employee data) API or CSV upload
Time-attendance system API or CSV upload
ERP (chart of accounts) Direct (CD ERP) or API
Bank disbursement NPS direct credit / bKash B2B

Data residency

Employee data stays in BD. Encrypted at rest, audit log immutable.

Monthly run cycle

Day Activity
Day 25 Cutoff (no further input)
Day 26 Preliminary run, review
Day 27 Corrections
Day 28 Final run, HR approval
Day 29 Finance approval
Day 30 / 1 Disbursement
Day 5 Tax-statement-to-NBR submission

Metrics

Metric Notes
payroll.runs.successful Should match cadence
payroll.runs.discrepancies Each requires HR review
payroll.disbursement.failures Bank/bKash failures (employee specific)
payroll.tax.submission_status NBR-side acceptance

Audit log

Every action logged: - Employee data changes (who, when, what) - Pay run executions - Approvals (HR, finance) - Disbursement events

Auditable for 7 years (NBR requirement).

Pay slip distribution

  • Email (PDF, encrypted)
  • Self-service portal (employee login)
  • SMS notification with pay-slip access link

Tax filing

CD pre-generates NBR-format tax filings: - Monthly TDS deposit - Quarterly returns - Annual tax statements

Customer reviews + submits (or authorizes CD to submit).

Year-end

  • Annual statement generation per employee
  • Bonus calculations
  • Reset year-to-date counters
  • Tax bracket updates if NBR changed rates

Run failed mid-execution

ERROR: payroll run aborted: employee XYZ has invalid tax-id

Most pre-run validations catch issues; if a runtime failure: - Fix the offending record - Re-run (idempotent) - If partial disbursements happened: reconcile carefully

Tax calculation wrong

Employee or auditor flags incorrect tax: - Reproduce with the same inputs - Check tax rule version (may have changed mid-year) - CD payroll team verifies rule logic - If genuine bug: hotfix + retroactive correction

Disbursement failed for specific employees

Bank/bKash rejection: - Wrong account number — employee updates - Account closed — employee updates - Daily limit reached (bKash) — retry next day - Beneficiary not enabled (NPS) — bank-side configuration

CD retries; employee notified.

NBR submission rejected

NBR's system rejected the filing: - Format change (NBR updates spec; CD adapts) - Data quality issue (mismatched TIN, etc.) - NBR-side system issue (retry later)

CD payroll team coordinates with NBR; resubmit.

Year-end timing crunch

Multiple year-end activities converging: - Pre-plan calendar; communicate with HR/finance - Stagger optional activities - Some flexibility on tax-submission deadlines (NBR-allowed)

Audit log gap

WARN: audit log has a 3-hour gap on 2026-04-15

System restart or storage glitch: - Reconstruct from secondary sources (database changelog) - Document the gap - For compliance: file an incident report

Gaps are bad; prevention via redundant audit storage.

Employee data dispute

Employee says their pay is wrong: - HR investigates via audit log - Compare expected vs actual - Either employee is right (correct + retroactive adjustment) or pay is correct (explain) - Document outcome