---
title: "Swiss Hours Calculation"
space: "swiss accounting software"
url: "https://docs.onfuse.ch/swiss-accounting-software/swiss-hours-calculation"
updated: "2026-02-09"
---

The Swiss Hours Calculation feature is designed to simplify end-of-month hour tracking and calculation for employees. It allows HR and payroll managers to configure and automate monthly working hour reports based on employment types, attendance, and timesheet activities.

## 🚀 Features

- ✅ Automatic calculation of working hours in a defined monthly period
- 💰 Tracking of allowances:
  - Hourly
  - Daily (with minimum attendance time)
  - Monthly
- ⏱️ Tracking time via timesheets or attendance logs
- 🧾 Configurable report generation for payroll or compliance

## 🧾 Doctypes

## Swiss Calculation Settings

### 1. Prerequisites

To ensure the Swiss Calculation system works as intended, you must set up the following components:

#### Employment Type

- Create different Employment Types based on the nature of work (e.g., 100% Full-time, 80% Part-time, Hourly Basis).
- Each employment type can be assigned different rules and allowances.

#### Attendance or Timesheets

- Ensure that attendance or timesheet logging is properly configured.
- Timesheet activities must be defined to reflect different work or leave types.

### 2. How to setup the process

- Navigate to Swiss Calculation Settings
- Click **Add New** 
- Fill in details for each Employment Type with:
  - Allowances
  - Attendance/timesheet logic
  - Period of calculation
  - Save the record and it will be used for automatic monthly hour evaluations.

### 🧾 Field Descriptions

#### General Setup

- **Employment Type:** Select the predefined employment type this setting applies to (e.g., Full-time, 80%, etc.)
- **Enabled:** If checked, this setting is active and will be used in calculations.
- **Count Balance:** Determines whether the system should calculate balance hours at the end of the month and transfer it to the next month.
- **Count Leaves:** Includes leave days in the calculation of the hours.
- **Working Hours:** Total working hours expected per day (e.g., 8.5).
- **Information:** This field will be copied to swiss hours calculation information 1:1.

#### Calculation Period

- **Generate Report On:** Day of the month when the report should be generated (e.g., 28).
- **Start of Calculation**: Start date of the period for hour calculation.
- **End of Calculation**: End date of the period for hour calculation. (if you want the last day of last month, enter -1)

#### Timesheet Activities

- **Activity Type**: Assign the relevant timesheet activities (e.g., Manufacturing, Sales) that will be counted in the calculation.
- **Count as Attendance:** Optional toggle to treat this activity as valid attendance and not just list it.

#### Allowances

- **Hourly Allowance:** Amount paid per hour worked.
- **Daily Allowance:** Amount paid per day (based on defined attendance time).
- **Daily Allowance after Hours:** Extra allowance when working beyond regular hours.
- **Max Allowance per Day:** Upper limit to daily allowance.
- **Monthly Allowance:** Fixed monthly allowance irrespective of hours.

### 💡 Tips

- Use different configurations per employment type to allow flexible rules (e.g., an 80% part-time worker may only get daily allowance if they exceed 6 hours).
- Always test your configuration on a test employee before deploying it live.

## Swiss Hours Calculation

### ⚙️ Calculation Modes

#### 1. Automatic Mode (via Swiss Calculation Settings)

- Pulls data automatically from the Swiss Calculation Settings
- Fetches previous month’s data and inserts balances into the current month
- Ensures continuity of balances like carried-over hours, leave entitlements, etc.

#### 2. Manual Mode

- Calculates hours based solely on the selected From Date and To Date
- No reference to previous data
- Ideal for one-time or custom reporting without historical linkage

### 🧾 Field Descriptions

#### General Information

- **Employee**: Select the employee for whom the calculation is being made
- **Employee Name**: Auto-fetched from the employee record
- **Date of Joining**: Indicates the start of employment (informational)
- **From Date / To Date**: Period of calculation

#### Summary Fields

- **Previous Hours**: Carried over hours from previous periods
- **Required Hours**: Total hours expected to be worked during the period
- **Worked Hours**: Total hours actually worked (from attendance/timesheets)
- **New Balance**: Resulting balance after subtracting required hours from worked hours

### 🧾 Section Details

#### Leaves Table

- Tracks leave usage and allocation during the period
- Columns:
  - Leave Type
  - Opening Balance
  - New Leave(s) Allocated
  - Leave(s) Taken
  - Closing Balance

#### Timesheet Table

- Detailed timesheet activity reporting
- Columns:
  - Activity Type (e.g., Work, Sick Leave)
  - Count as… (mapped attendance/allowance category)
  - Hours logged for each activity

#### Additional Table

- Allows adding manual line items for financial or work-related adjustments
- Columns: 
  - Description
  - Quantity
  - Amount
  - Total (auto-calculated)

### 🔄 Actions

- **Recalculate**: Re-runs the calculation using the latest data
- **Submit**: Confirms the data and locks the record for that period

### ✅ Best Practices

- Always finalize your Swiss Calculation Settings before using automatic mode
- Use manual mode for quick checks
- Regularly verify your timesheets and leave balances / Leave applications to ensure accuracy

## 🔍 Troubleshooting

- **Invoice not matched?** Make sure the creditor reference in the invoice exactly matches the one in the XML file.
- Contact us for help at: [ONFUSE Support](https://onfuse.ch/support)

