A Payroll (also called an Organization Unit) is a company within a tenant, with its own regulations, employees and payrun periods.
- Name: functionally important - it's sent with the ELM (Swissdec) transmission and must match the commercial register entry
- In practice: only one Payroll per Tenant is currently supported - see Tenant for details
- Division: a scoping unit 1:1 with a payroll, auto-provisioned on creation of a payroll
- Document language: the language of generated company Outputs, independent of user/employee language - changeable any time
Regulations
Regulations (aka "Payroll Logic") are the rulesets a payroll follows - not just the country-specific one (e.g. Swissdec), but also industry and accounting-related regulations.
- A payroll's regulations are set via PUT
/tenants/{orgId}/payrolls/{payrollId}/regulations, where you pick the country regulation, industry regulations (optional, multiple) and the accounting-related regulations. - Updates: daily, automatically - you don't need to track legal changes yourself
- Content: see Regulations for specific details (cases, wagetypes, etc.)
| Regulation | Multiple allowed? | Removable? | Source | What's included |
|---|---|---|---|---|
| Country | No - exactly one | No - set once, never swapped or removed | Ason catalog | National, cantonal and best-practice rules, updated automatically as laws change |
| Industry | Yes | No - can add more later, never remove | Ason catalog | Additional rulesets layered on the country regulation - you can add more than one, combined |
| Accounting Document | No | Yes - replaceable any time (effective-date = open period) | Ason catalog | Selects which template Ason uses when generating the accounting posting document (see Outputs) on period close - picked from Ason's catalog only, see Accounting documents for the currently available ones |
Chart of Accounts (accountingData) | No | Yes - replaceable any time | Ason catalog, or your own Client Lookup | Selects which accounting-data scheme to use - this is the regulation behind your Chart of Accounts. Unlike the others (all Ason-provided, picked from a fixed catalog), it consists of nothing but a Client Lookup - so you can create and maintain your own instead of only picking from Ason's |
Accounting Start Date
accountingStartDate is the earliest date the payroll can calculate or post anything - no case change or payrun period can be dated before it. Set it to the first date you want Ason to actually start accounting for this company (e.g. your go-live date with Ason, or the start of the data you're migrating).
- Changing it afterwards: not possible through the standard Settings screen - it's fixed once the payroll exists. The API has a function for rebasing it (the new start date must be after the previous one), but that's β permanent - it deletes all payrun periods and reopens one with the new date - and only works before the payroll goes live. Treat this as a support-assisted operation, not routine self-service.
- Setting it correctly: always the 1st of a month (e.g.
2026-01-01) - never a mid-month date.- Existing company, onboarded mid-year: if payroll data needs to be caught up with retroactive postings - which you always need for a clean year-end - set it to January 1 of the current year, not the onboarding month itself.
- New company, founded mid-year: if the company is brand new and there's no prior payroll history to catch up on, set it to the month it was founded - its first payrun period.
Same onboarding month, different accountingStartDate - it depends on whether there's payroll history to catch up on.
Go live
- What it is: setting transmissionStartDate on the payroll - the one-time switch after which closing a period also submits to Swissdec.
- How to do it: via Payroll β Settings β "Go live" in the UI, or PUT
/tenants/{orgId}/payrolls/{payrollId}with transmissionStartDate set to the period you want transmission to start from, via the API. - Timing: there's no enforced deadline - it's a manual step you trigger once you're ready for periods to actually be submitted to Swissdec. Periods close normally before that; the Swissdec-specific documents just aren't generated yet. If a company is onboarded with retroactive postings for periods earlier in the current year, Go live is only set once those catch-up payrun periods have been closed.
- Reversibility: β one-way once transmissionStartDate is set, it can't be reverted through the standard flow.
API Endpoints
Payroll
| What | Call |
|---|---|
| List payrolls | GET /tenants/{orgId}/payrolls |
| Get a payroll | GET /tenants/{orgId}/payrolls/{payrollId} |
| Create a payroll | POST /tenants/{orgId}/payrolls/simple |
| Update a payroll (e.g. set the go-live date) | PUT /tenants/{orgId}/payrolls/{payrollId} |
Regulations
| What | Call |
|---|---|
| List available regulations | GET /regulations/available |
| Get a payroll's assigned regulations | GET /tenants/{orgId}/payrolls/{payrollId}/regulations |
| Update a payroll's assigned regulations | PUT /tenants/{orgId}/payrolls/{payrollId}/regulations |
