diff --git a/content/applications/hr/payroll.rst b/content/applications/hr/payroll.rst index 6648d9708..34bf499d9 100644 --- a/content/applications/hr/payroll.rst +++ b/content/applications/hr/payroll.rst @@ -951,6 +951,7 @@ form. - :doc:`payroll/reporting` - :doc:`payroll/work_entry_analysis` - :doc:`payroll/salary_attachment` + - :doc:`payroll/payroll_localizations` .. toctree:: :titlesonly: @@ -962,3 +963,4 @@ form. payroll/reporting payroll/work_entry_analysis payroll/salary_attachment + payroll/payroll_localizations \ No newline at end of file diff --git a/content/applications/hr/payroll/payroll_localizations.rst b/content/applications/hr/payroll/payroll_localizations.rst new file mode 100644 index 000000000..5291aab5d --- /dev/null +++ b/content/applications/hr/payroll/payroll_localizations.rst @@ -0,0 +1,53 @@ +:show-content: + +===================== +Payroll localizations +===================== + +Payroll localization refers to the process of adapting payroll systems, policies, and compliance +measures to align with the specific labor laws, tax regulations, and social security requirements +of a particular country or region. This ensures that employee salaries, benefits, deductions, and +contributions are processed accurately and in full compliance with local legal and financial +obligations. Localization also includes integrating country-specific payroll elements such as +statutory benefits, holiday entitlements, termination rules, and reporting requirements, helping +businesses avoid legal risks while ensuring employees receive their correct compensation. + +.. _payroll_localizations/countries-list: + +List of countries +================= + +Payroll localization modules are available for the countries listed below. + +.. note:: + New countries are frequently added to this list and Odoo keeps expanding and improving existing + localizations and the related documentation. + +- Australia +- :doc:`Belgium ` +- Bangladesh +- Egypt +- Hong-Kong +- India +- Indonesia +- Jordan +- Kenya +- Lithuania +- Luxembourg +- Mexico +- Morocco +- Netherlands +- Pakistan +- Poland +- Romania +- Saudi Arabia +- Slovakia +- Switzerland +- Türkiye +- United Arab Emirates +- United States + +.. toctree:: + :titlesonly: + + payroll_localizations/belgium diff --git a/content/applications/hr/payroll/payroll_localizations/belgium.rst b/content/applications/hr/payroll/payroll_localizations/belgium.rst new file mode 100644 index 000000000..e972fb4e0 --- /dev/null +++ b/content/applications/hr/payroll/payroll_localizations/belgium.rst @@ -0,0 +1,3126 @@ +======= +Belgium +======= + +.. _belgium_payroll/payslip_explained: + +Understanding the Belgian Payslip +================================= + +Overview +-------- + +Providing employees with a clear, transparent payslip is essential for compliance and employee +satisfaction. This guide explains how to interpret a Belgian payslip, detailing key components +that impact salary calculations and deductions. + +General Information +------------------- + +The first section of the payslip contains the employee's general details. It is crucial to verify +the accuracy of the civil status and the number of dependents, as these factors influence tax +calculations. Employers can ensure updates are made through their internal salary configurator or +employee profile management systems. + + .. image:: belgium/payslip-explained-01.png + :alt: How to read a payslip - General Information + +Work Entries +------------ + +This section outlines time-off applications and their impact on salary. The base salary typically +remains constant unless unpaid leave is taken. If an employee has taken unpaid leave, parental +leave, or any unexpected absence, their salary will reflect the corresponding deductions. + + .. image:: belgium/payslip-explained-02.png + :alt: How to read a payslip - Work Entries + +Payroll Calculation +------------------- + +The core of the payslip details various salary components, deductions, and benefits. Below are the +primary elements: + + .. image:: belgium/payslip-explained-03.png + :alt: How to read a payslip - Payroll Calculation + +1. Benefits in Kind +~~~~~~~~~~~~~~~~~~~ + +If applicable, benefits in kind (such as a mobile or internet subscription or a laptop) are subject +to taxation and impact net remuneration. + +2. Social Security Contributions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A mandatory 13.07% deduction from gross salary is allocated to the National Social Security Office +(ONSS). This includes: + +- Pensions: 7.5% +- Health Insurance for Care: 3.55% +- Health Insurance for Benefits: 1.15% +- Unemployment: 0.87% + +Additionally, the employer contributes on average 25% of the employer's contributions to the +National Social Security Office. + +3. Employment Bonus +~~~~~~~~~~~~~~~~~~~ + +A reduction in employee contributions based on gross salary, which is phased out if the salary +exceeds a specific threshold. + +More info : https://www.socialsecurity.be/employer/instructions/dmfa/fr/latest/instructions/deductions/workers_reductions/workbonus.html + + +4. Benefit in Kind (Company Car) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When a company car is provided for personal use, a taxable benefit (ATN) is added to the employee's +salary. This is determined by: + +- The catalog value and age of the vehicle +- The vehicle's CO2 emissions + +This benefit is subject to withholding tax and will be adjusted later in the payroll process. + +5. Withholding taxes +~~~~~~~~~~~~~~~~~~~~ + +Withholding tax rates are revised annually by the SPF Finances (https://finances.belgium.be/fr/entreprises/personnel_et_remuneration/precompte_professionnel/calcul). +The tax amount is influenced by: + +- Gross salary +- Marital status (married, legally cohabiting, or single) +- Household composition (children or other dependents) + +This serves as an advance payment on professional income tax. + +6. Reduction in Withholding Tax +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A reduction based on gross salary, which is eliminated if salary surpasses a specific amount. + +7. Benefit in Kind (Company Car) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Repeated here since the amount is only subject to withholding tax. + +8. Special Social Security Contribution +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A household income-based tax applicable to all employees covered by social security. + +9. Meal Voucher Deduction +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Employees receive meal vouchers valued for instance at €8 per workday, where: + +- The employer contributes €6.91 +- The employee contributes €1.09 + +For example: + +- 5 worked days → deduction of €5.45 (5x€1.09) +- 22 worked days → deduction of €23.98 (22x€1.09) + +Variations in this deduction impact monthly net salary. + +10. Representation Fees +~~~~~~~~~~~~~~~~~~~~~~~ + +An optional net salary component, allocated in two parts: +- A fixed portion, independent of working hours +- A prorated portion, adjusted for part-time schedules + +11. Net Salary +~~~~~~~~~~~~~~ + +The final amount deposited into the employee's bank account after deductions. + +.. _belgium_payroll/eco_vouchers: + +Eco Vouchers +============ + +Overview +-------- + +Eco vouchers are a tax-free employee benefit designed to support the purchase of +environmentally-friendly products and services. These vouchers are ordered via external providers +and are exempt from social security contributions. + +Eligibility & Allocation +------------------------ + +Employees who have worked during the **reference period (01/06/X - 31/05/X+1)** are eligible for +up to **250€** in eco vouchers, which are granted at the beginning of **July**. + +**Example:** For 2025, employees must have worked between **01/06/2024 and 31/05/2025** to qualify. + +For employees who join during the reference period, the voucher amount is prorated based on their +worked days. + +**Example:** An employee hired on **06/01**, having worked **6 out of 12 months**, would receive: + +:: + + 250€ x (6/12) = 125€ + +For part-time employees, the amount is adjusted as follows: + +.. list-table:: Eco Voucher Allocation by Work Regime + :header-rows: 1 + + * - Work Regime + - Voucher Amount (€) + * - 4/5 + - 250€ + * - 3/5 + - 200€ + * - 1/2 + - 125€ + * - < 1/2 + - 100€ + +**Example:** If an employee starts on **1st September** in **full-time** and then switches to +**half-time** on **1st April 2024**, the calculation will be: + +:: + + 250€ x (7/12) + 125€ x (2/12) = 166€ + +Exceptions & Adjustments +------------------------ + +If an employee worked full-time for the entire reference period but did not receive **250€**, +certain non-assimilated leave days may have affected the calculation. + +The following leave types are **not** considered for eco-voucher entitlement: + +- **Unpaid leaves** +- **Sick leave compensated by mutual insurance** (after 30 days of work incapacity) + +Usage & Validity +---------------- + +The list of eligible products and services that can be purchased with eco vouchers is +available here: + +▶️ `Eco-Voucher Eligible Products `_ + +Eco vouchers are valid for **24 months** from the date of issuance. + +.. _belgium_payroll/dmfa: + +DmfA - Multifunctional declaration +================================== + +Overview +-------- + +DmfA stands for "Déclaration Multifonctionnelle" or "Multifunctionele Aangifte." It has replaced +the quarterly ONSS declaration since the first quarter of 2003. Through this declaration, employers +submit salary and working time data for their employees. + +These data are processed in a way that allows all social security institutions to work with the +same information. The declaration is called "multifunctional" because it is used not only for +social security contribution calculations and reductions but also as a data source for institutions +managing social security rights and benefits. + +Sectors utilizing DmfA data include: +- Health insurance +- Unemployment benefits +- Pensions +- Occupational risks (Fedris) +- Family allowances +- Annual leave + +All employers registered with ONSS must submit a DmfA declaration. + +Relationship with Dimona and DRS +-------------------------------- + +DmfA is closely linked to two other mandatory declarations: + +Dimona (Immediate Declaration) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Dimona records the start and end of an employment relationship with an employee. + +DRS (Social Risks Declaration) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +During an employment relationship, various social risks may arise, such as termination, workplace +accidents, or long-term illness. When a social risk occurs, social security institutions require +additional information beyond that provided by DmfA and Dimona. + +DRS is now primarily an electronic declaration, though paper submissions remain possible. + +Who Submits the DmfA Declaration? +--------------------------------- + +Self-Declaration Options +~~~~~~~~~~~~~~~~~~~~~~~~ + +Employers can submit their DmfA declaration themselves via: + +1. **Web Submission:** Suitable for employers with a small workforce. Declarations are entered + directly through the social security portal. +2. **Batch Submission:** Designed for large employers or organizations handling multiple + declarations (e.g., social secretariats, payroll software providers). Declarations are submitted + via file transfer (FTP, SFTP, etc.). + +Advantages of Web Submission +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Automatic access to the company's employee list**: Based on Dimona data. If an employee is + missing, they must first be declared via Dimona. After 24 hours, the employee list is updated, + allowing for an accurate DmfA submission. +- **Automatic calculation of net payable amount**: Once all required data is entered, the system + calculates the total payable amount. +- **Reduction calculations**: The system calculates applicable reductions, except for reductions + under code "0001" (personal contribution reductions for low-income workers). Employers need to + check the relevant boxes and, if necessary, provide additional details. + +Advantages of Batch Submission +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Submission of large volumes of declarations**: Ideal for organizations managing multiple + payrolls. +- **Quick response on acceptance status**: Employers receive immediate feedback on whether their + declaration has been accepted. +- **Error reporting**: The system generates a report on detected anomalies, regardless of + acceptance status. +- **Automatic correction of calculation errors**: When possible, errors are corrected + automatically, and employers are notified of adjustments. + +Third-Party Submission Options +------------------------------ + +Employers who do not wish to submit the DmfA themselves can delegate the task to: + +1. **Accredited Social Secretariats**: These organizations handle payroll and declaration tasks + on behalf of employers. +2. **Service Providers**: These may be companies or individuals with whom the employer has a + contractual agreement to manage payroll declarations securely. + +For more information on accredited social secretariats or service providers, please refer to the +relevant official documentation. + +See: https://www.socialsecurity.be/site_fr/employer/applics/dmfa/index.htm + +Configuration +------------- + +The declaration is generated under :menuselection:`Payroll app --> Reporting --> Belgium --> DmfA` +as is supposed to work properly after several required configuration steps. + +Company Configuration +~~~~~~~~~~~~~~~~~~~~~ + +To generate a valid DmfA declaration, specific company and employer-related information is required, +(under :menuselection:`Payroll app --> Configuration --> Settings`). These include: + +- ONSS Company Identifier +- Registration Number +- Employer Class +- VAT Company Number +- Revenue Code +- FFE (Fonds de Fermeture d'Entreprise) Employer Type +- Certificate for Signature File Generation (Required for batch declarations) + + .. image:: belgium/dmfa-04.png + :alt: DmfA - Configuration + +Employee Configuration +~~~~~~~~~~~~~~~~~~~~~~~ + +Additionally, each employee must be assigned to an operating unit in their employee record. This +operating unit must be linked to a valid ONSS identification number to ensure compliance with +declaration requirements. Failing to configure this properly may result in errors during the +declaration submission process. + +On the employee form, the work address is defined as: + + .. image:: belgium/dmfa-06.png + :alt: DmfA - Work Address + +Under :menuselection:`Payroll app --> Configuration --> Belgium --> DMFA: Work Locations`, you can +link the work address to a ONSS identification number. + + .. image:: belgium/dmfa-07.png + :alt: DmfA - Work Locatation ONSS ID + +Work Entry Type Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A DmfA code should be defined for each work entry type that is declared. Under +:menuselection:`Payroll app --> Configuration --> Work Entries --> Work Entry Types`, +the DmfA code should be specified like: + + .. image:: belgium/dmfa-08.png + :alt: DmfA - Work Entry Type Configuration + + +Potential Configuration Errors +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +During the declaration generation process, configuration issues may arise, triggering errors such +as: + +- Terminated employees without or with invalid start/end notice period +- Invalid NISS number for some employees +- Work addresses not linked to an ONSS identification code +- Work entry type missing a corresponding DmfA code +- Other inconsistencies in employer or employee records + +Employers should ensure accurate configuration to avoid delays and rejection of their declarations. + +Web Declaration +~~~~~~~~~~~~~~~ + + .. image:: belgium/dmfa-03.png + :alt: DmfA - Web Declaration + +A web declaration generates a PDF summarizing the company's general information, as well as all +employee data that must be manually entered into the system. This includes: + +For the company: + + .. image:: belgium/dmfa-01.png + :alt: DmfA - PDF Company + +For a specific employee: + + .. image:: belgium/dmfa-02.png + :alt: DmfA - PDF Employee + +- **Occupations**: Work schedules, part-time codes, parental leave, exploitation unit, reference + working hours. +- **Services**: Aggregated work performance (in days and hours) for the quarter, categorized by + occupation and type. The codification of working time in the DmfA declaration ensures accurate + reporting of employee activities. Each code corresponds to a specific type of working time or + absence. For a complete and detailed list of codes, please refer to the official social security + website: [socialsecurity.be](https://www.socialsecurity.be/employer/instructions/dmfa/fr/latest/instructions/fill_in_dmfa/dmfa_fillinrules/servicedatadeclaration/workingtimecodification.html) + + - **1**: All performances covered by a salary subject to ONSS contributions, excluding legal and + additional vacation for workers. + - **2**: Legal vacation days for workers. + - **3**: Additional vacation days for workers. + - **4**: Compensatory rest days. + - **5**: Days of illness or non-occupational accident. + - **6**: Family leave days. + - **7**: Maternity or paternity leave days. + - **8**: Strike days. + - **9**: Temporary unemployment for economic reasons. + - **10**: Temporary unemployment for bad weather. + - **11**: Temporary unemployment for force majeure. + - **12**: Professional training days. + - **13**: Suspension for disciplinary reasons. + - **14**: Additional vacation days for employment start or resumption. + - **15**: Flexible vacation days. +- **Remunerations**: Aggregated by code per occupation: + + - **1**: Regular salary amounts excluding certain indemnities. + - **2**: Bonuses and similar benefits granted independently of actual working days. + - **3**: Severance payments expressed in working hours. + - **7**: Simple vacation pay for exiting employees (subject to contributions). + - **10**: Personal use of a company vehicle and other mobility benefits. + - **11**: Simple vacation pay for exiting employees (not subject to contributions). + - **12**: Advance vacation pay paid by a previous employer (not subject to contributions). +- **Contributions**: Employer and employee contributions, such as: + + - **256**: Asbestos fund contribution. + - **255**: Special work accident contribution. + - **495**: Total employer + 13.07% employee contribution. + - **809**: Enterprise closure fund contribution. + - **810**: Special enterprise closure fund contribution. + - **831**: Auxiliary Joint Committee for Employees (CP200) contribution. + - **855**: Wage restraint contribution. + - **856**: Special social security contribution. + - **859**: Temporary unemployment contribution. + +Batch Declaration +~~~~~~~~~~~~~~~~~ + + .. image:: belgium/dmfa-05.png + :alt: DmfA - Web Declaration + +Batch declarations require technical knowledge, including SSH keys, SFTP servers, and electronic +signatures. Employers should refer to the official documentation ([link](https://www.socialsecurity.be/site_fr/employer/applics/dmfa/batch/home.htm)) and process overview ([link](https://www.socialsecurity.be/site_fr/employer/applics/dmfa/batch/outline.htm)). + +A batch submission generates three files: + +1. **Declaration file** (e.g., FI.DMFA.112768.20250109.00014.R.1.1) +2. **Launch file** (e.g., GO.DMFA.112768.20250109.00014.R.1) +3. **Electronic signature file** (e.g., FS.DMFA.112768.20250109.00014.R.1.1) (only for real + declarations, not tests) + +The full process includes creating, sending, validating, and potentially correcting declarations. +Rejections and anomalies must be addressed before final acceptance. + + .. image:: belgium/dmfa-09.png + :alt: DmfA - Web Declaration + +1. **Creation of the Declaration** + - Create an XML document containing employee benefit data, remuneration, and contributions for the company. + - More information on XML files can be found in the [Specifications page](#). + +2. **Sending the Declaration** + - Use FTP or SFTP for sending the file. Access requires prior authorization for secure zone access by a local manager. + - Detailed instructions are available on the [Introduce and Modify (via batch)](https://www.socialsecurity.be). + +3. **File Acknowledgment Receipt** + - **Positive Receipt**: Indicates the file can be processed. However, this does not guarantee acceptance. + - **Negative Receipt**: Indicates issues with the file structure or access rights. + +4. **Notification and Ticket Number for the Declaration** + - A positive notification is sent for each accepted declaration. + - Negative notification: Provides information on encountered anomalies. + +5. **Sending PID** + - Employers and SSA will receive PID and version numbers via batch for declarations. + +6. **Modification Notification with System Corrections** + - If corrections are made, a modification notification is sent with corrected values. + +.. _belgium_payroll/work_entries_exports: + +Work Entries Exports +==================== + +What are Work Entries? +---------------------- + +In the context of payroll, "work entries" typically refer to records or documentation related to an +employee's work hours and earnings for a specific pay period. These entries are crucial for +accurately calculating and processing employee compensation. + +Work entries in the context of payroll are essential for both employees and employers. They provide +a transparent and accurate record of an employee's compensation and deductions, ensuring that +employees are paid correctly and that tax and legal requirements are met. Payroll software and +systems are commonly used to manage and automate these work entries, making the payroll process +more efficient and accurate. + +Main concepts +------------- + +General +~~~~~~~ + +In Odoo, work entries mainly refer to "time entries" (attendance tracking), these are work entries +that consist of time records, which include the number of hours worked by an employee during a +given pay period. These entries may specify regular working hours, overtime hours, and any other +relevant time-related information, such as breaks, paid time off, unpaid time off, parental leave, +credit-time, etc. + + +Work entries serve a dual role in payroll management. First, they enable organizations to +independently compute employee payslips. Second, they facilitate the transmission of pertinent data +to external payroll service providers, who then use this information to calculate and generate the +payslips. + +Work Entries +~~~~~~~~~~~~ + +- They have a Name: used to identify the type of entry. Eg. Attendance, Paid Time Off, etc. +- They have a Payroll Code: used in Odoo's salary rules computations +- They have an External Code: used to provide the correct Work Entry code to an external payroll + service provider. +- They are generated based on the configuration of the contract and the time off types +- They have a duration, a start and end date, a state and are always linked to an employee. + + .. image:: belgium/work-entries-01.png + :alt: Work Entries + +Work Entry Types +~~~~~~~~~~~~~~~~ + +- They are the main source of configuration for your work entries. Thanks to your different types + of work entries, you'll be able to differentiate the time records of your employees. +- They have a name. +- They contain a code, external code, payroll code and a color for visual tracking. +- They allow other types of configurations such as how they are displayed in payslips, decide + whether this type of work entry should be considered as paid or unpaid (eg. unpaid leave), decide + whether this type of work entry has a link with time off, is valid for some advantages or how it + should be reflected in your reporting. + + .. image:: belgium/work-entries-02.png + :alt: Work Entry Types + +Time Off Types +~~~~~~~~~~~~~~ + +As mentioned above, since work entry types can be linked to a time off type, you are also able to +define the work entry type for each time-off type. On the time off type you have a many2one +relation with the work entry type. + + .. image:: belgium/work-entries-03.png + :alt: Time Off Types + +Steps to generate the work entries of your staff +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Create all the employees + +2. Set a running contract for each employee + +In your contract, you will be able to choose the "work entry source". It tells the system how work +entries for an employee should be generated. It can be based on + +- Working schedule: Odoo uses the predefined working hours and days set in the employee's working + schedule to generate work entries. This is useful for regular, predictable shifts. +- Attendances: Work entries are generated from the employee's attendance records (i.e., when they + check-in and check-out). +- Planning: Work entries are created based on the validated shifts or slots allocated to the + employee in the Planning app (often used for scheduling roles like retail shifts, restaurants, + etc.). + + .. image:: belgium/work-entries-04.png + :alt: Work Entries: Generation Steps + +3. Generate the work entries each month + +Odoo will automatically create the work entries in the Payroll app based on the work entry source +of the contract and the different time-offs taken. You can edit the work entries manually. You can +always decide to regenerate work entries manually but be careful if you already made some manual +changes, Odoo will regenerate the work entries based on what it knows (eg. your working schedule +and time off). + +4. Managing conflicts + +Conflicts are pointing to entries that can't be validated without your intervention. This means +you'll have to qualify the entry and decide which is the correct entry to be defined for the time +period if you want to be able to generate the payslip or validate the entries. Conflicts arise when +there are overlapping entries or when Odoo detects that there is a time off request still pending +for validation. For instance, if an employee is marked as attending work and at the same time +there's a paid leave request to be validated for the same period, that's a conflict. + +You can manage them by filtering on the conflicting entries and resolving the discrepancy. Since +Odoo 16.4, Odoo filters by default on conflicting entries. For prior versions, you can still filter +manually on conflicting entries or use the conflicting menu item. + + .. image:: belgium/work-entries-05.png + :alt: Work Conflicts Generation Steps + +5. Once the conflict is resolved you can either proceed to generate the payslips for your employees +or export your work entries to the right entity + +Export Work Entries +------------------- + +.. tip:: + This page is about exporting work entries to SDWorx, but the configuration and behavior is + similar for other exports to Partner, Group S and UCM. + +Introduction +~~~~~~~~~~~~ + +This sheet is here to help you Learn how Odoo's SD Worx module simplifies payroll by enabling easy +export of work entries. This guide provides quick steps to generate .txt files for direct import +into SD Worx calendars, saving time and ensuring accuracy. + +First and foremost, it's important to understand there is no direct integration between Odoo and +SD Worx. There is no automatic exchange of information, either way. Odoo does not communicate +directly with SD Worx, and the reverse is also true. + +How does it work? +~~~~~~~~~~~~~~~~~ + +In reality, Odoo provides a standardized export in .txt format for employees' work entries, +allowing the generation of a file that conforms to a specific format for inputting these entries +into the SD Worx software. + +What does it mean in terms of data management? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Since there is no direct integration between both systems, it implies that certain data will need +to be manually entered into both systems. For instance, when you create a new employee in Odoo, +you'll also need to manually create the employee in SD Worx (and vice versa). This manual data +entry requirement extends to various aspects such as contracts, work schedules, salary details, +and personal information about employees. + +Essentially, all the information necessary for SD Worx to calculate salaries and generate payslips +must be manually inputted into both systems. + +What's the advantage of exporting to SD worx? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Odoo is an integrated software that can comprehensively handle all variable payroll elements, +including employee personal information, contract details, various time-off types, and other work +entry categories. Through Odoo's integration capabilities, you can access all this crucial data in +one centralized location, making it easily accessible for your HR team and employees. + +This integration not only ensures data accuracy but also maintains consistency, reducing the +likelihood of errors when transmitting work entry information to your external payroll provider. +With the module in place, a single click generates a .txt file that's ready for direct import into +SD Worx, streamlining the entire data transmission process. + + +Steps to set up the SD Worx Module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Prerequisite: You must be logged into a Belgian Company for it to work + +Install the module + +.. tip:: + Go to :menuselection:`Apps --> Search SD Worx --> Work Entries --> Remove the Apps filter` + + .. image:: belgium/work-entries-06.png + :alt: Install SDWorx + +Set up guide: 3 configuration levels + +Go to :menuselection:`Payroll App --> Configuration --> Settings --> Fill in the SD Worx code field` +This is the Company SD Worx code, you get it directly from the SD worx software. When you create a +company, it has a unique identifier which you need to set in the field. + + .. image:: belgium/work-entries-07.png + :alt: Configure SDWorx Company Code + +For each employee, under the HR Settings tab, there is an SD Worx code to fill in. + + .. image:: belgium/work-entries-08.png + :alt: Configure SDWorx Employee Code + +For work entry types, link an SD Worx code as well. + + .. image:: belgium/work-entries-09.png + :alt: Configure SDWorx Work Entry Type Code + +You can now export your work entries in the SD worx .txt format. The file contains a series of lines +such as the line in the screenshot below: + + .. image:: belgium/work-entries-10.png + :alt: SDWorx Export Line + +Where each line represents a work entry. + +Explanation of the structure of the exported file: + +- 1111111 -> Company SD Worx code +- 0000024 -> Employee SD Worx code +- K -> Delimiter +- 20230423 -> Date +- 7010 -> SD Worx work entry code +- 0360 -> Duration (edited) + +Import it in SD worx and you're done ! Good Job ! Once the file is exported, it can be directly +imported in this format into the SD Worx software. This will update the calendars of each +collaborator. + +.. _belgium_payroll/time_off: + + +Time Off +======== + +.. _belgium_payroll/legal_time_off: + +Legal Time Off +-------------- + +This guide provides an overview of the basic rules governing legal holiday entitlements in Belgium +for employers using Odoo. + +1. Holiday Entitlement Calculation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Your holiday entitlement for the current year (N) is determined by the number of months worked in +Belgium during the previous year (N-1). + +**Calculation Details:** + +- Employees earn **2 days of leave per month** based on a 6-day work week. +- The entitlement is adjusted for a 5-day work week: `(Total Days / 6) x 5`. + +Example: +If an employee worked **7 months** in the previous year (N-1): + +- **6-day work week:** `7 x 2 = 14 days` +- **5-day work week:** `14 / 6 x 5 = 11.67 days` + +**Partial Month Calculation:** + +- Worked **1st to 10th**: Full month counted. +- Worked **11th to 19th**: Half month counted. +- Worked **20th onwards**: Month not counted. + +**Rounding Rules:** + +- Less than **0.35**: Round to **0**. +- Between **0.35 - 0.74**: Round to **0.5**. +- **0.75 and above**: Round to **1**. + +For a full-time employee, this typically results in **11.5 days of legal holiday** entitlement. + +2. Maximum Holiday Entitlement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Employees are entitled to a maximum of **4 weeks** of holiday based on their working schedule. If an +employee switches between full-time and part-time work, their entitlement is adjusted accordingly. + +**Calculation Details:** + +- **5-day work week**: `4 x 5 = 20 days` +- **4-day work week**: `4 x 4 = 16 days` +- **3-day work week**: `4 x 3 = 12 days` + +**Example Scenario:** +If an employee joined **Odoo on January 1, 2024**, and plans to switch to a +**3-day work week fromApril 1, 2024**: + +**Step 1: Calculate Holiday Entitlement for 2024** + +- The employee worked **9 months in 2023**. +- **6-day work week basis**: `9 x 2 = 18 days`. +- Adjusted for **5-day work week**: `18 / 6 x 5 = 15 days`. + +**Step 2: Verify Maximum Holiday Entitlement** + +- For a **5-day work week**, the maximum entitlement is **20 days**. +- Since the employee is entitled to **15 days**, they remain within the limit. + +**Step 3: Adjust Entitlement for the New Work Schedule** + +- From April 1, 2024, the employee moves to a **3-day work week**. +- Maximum entitlement for a **3-day work week**: `3 x 4 = 12 days`. +- If no leave is taken before April 1, the employee may take up to **12 days** from + their 15-day entitlement. +- The **remaining 3 days** will be settled at the end of the year. + +This ensures compliance with Belgian legal leave regulations and allows employers to manage holiday +entitlements effectively within Odoo. + +Legal Time Off Allocation +~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is possible to generate the legal time off for all your employees at the beginning of a new +year using the wizard in +:menuselection:`Payroll App --> Reporting --> Belgium --> Paid Time Off Allocation` + +Based on your employees occupation over last year, the number of available time off is pre-computed +for each employee. + + .. image:: belgium/paid-time-off-allocation-01.png + :alt: Paid Time Off Allocation Wizard + +Once validated, an draft allocation is generated for each single employee, waiting a manual +confirmation that can be done in batch. + + .. image:: belgium/paid-time-off-allocation-02.png + :alt: Paid Time Off Allocations + +.. _belgium_payroll/european_time_off: + +European Time Off +----------------- + +How does it work? +~~~~~~~~~~~~~~~~~ + +If you were not subject to Belgian ONSS contributions before joining our company and do not have +entitlement to legal holidays, or if your entitlement is incomplete, you can apply for European +leave. + +To qualify for European leave in a given year, you must work for at least 3 months during that year, +whether with us or another employer. Once you have met this requirement, you will earn 5 days of +European leave. Subsequently, you will accumulate additional days of vacation each month as follows: + + +After 3 months: 5 days +After 4 months: 7 days +After 5 months: 9 days +After 6 months: 10 days +After 7 months: 12 days +After 8 months: 14 days +After 9 months: 15 days +After 10 months: 17 days +After 11 months: 19 days + +Please note: + +The total of legal leave and European leave cannot exceed 20 days per year. + +You must use all your legal holidays before taking European leave. + +European leave entitlement expires on December 31st of the year it is earned and cannot be carried +over to the following year. To qualify for European leave in a new year, you must complete another +3 months of work. + +How are these days paid? +~~~~~~~~~~~~~~~~~~~~~~~~ + +European leaves are paid holidays taken in advance of your “Double Holiday Pay” (the June extra pay) +for the following year. Essentially, the more European leave days you take in a given year, the +less you will receive as June extra pay in the following year. + +.. _belgium_payroll/notice_period: + +Departure: Notice Period & Termination Fees +=========================================== + +This documentation explains how the employee departure process works in the application, focusing +on the notice period calculation and severance pay when the employee does not serve their notice +period. + +Overview +-------- + +This module helps manage employee departures by determining the correct notice period based on +seniority, departure reasons, and specific country regulations (Belgium). It also calculates +severance pay when the employee does not work during their notice period. + +Key Features +------------ + +- Automatic calculation of notice period start and end dates. +- Consideration of public holidays and company-specific schedules. +- Calculation of severance pay based on company policies and government rules. +- Generation of a final payslip including termination fees. + +Notice Period Calculation +------------------------- + +The notice period depends on several factors: + +- The employee's seniority in the company. +- The reason for departure (resignation, dismissal, retirement, etc.). +- Whether the employee works during the notice period or not. +- The salary level before January 1, 2014 (for some cases). + +The notice period starts on the first Monday after the departure date unless a specific rule +applies (e.g., a mandatory waiting period of three days for certain dismissals). + +Notice Duration Rules +--------------------- + +The following table shows the duration of the notice period based on the length of service: + +**For Resigned Employees:** + ++---------------------+-----------------------+ +| Seniority (months) | Notice Period (weeks) | ++=====================+=======================+ +| 0 - 3 | 1 | ++---------------------+-----------------------+ +| 3 - 6 | 2 | ++---------------------+-----------------------+ +| 6 - 12 | 3 | ++---------------------+-----------------------+ +| 12 - 18 | 4 | ++---------------------+-----------------------+ +| 18 - 24 | 5 | ++---------------------+-----------------------+ +| 24 - 48 | 6 | ++---------------------+-----------------------+ +| 48 - 60 | 7 | ++---------------------+-----------------------+ +| 60 - 72 | 9 | ++---------------------+-----------------------+ +| 72 - 84 | 10 | ++---------------------+-----------------------+ +| 84 - 96 | 12 | ++---------------------+-----------------------+ +| 96+ | 13 | ++---------------------+-----------------------+ + +**For Dismissed Employees:** + ++---------------------+-----------------------+ +| Seniority (months) | Notice Period (weeks) | ++=====================+=======================+ +| 0 - 3 | 1 | ++---------------------+-----------------------+ +| 3 - 4 | 3 | ++---------------------+-----------------------+ +| 4 - 5 | 4 | ++---------------------+-----------------------+ +| 5 - 6 | 5 | ++---------------------+-----------------------+ +| 6 - 9 | 6 | ++---------------------+-----------------------+ +| 9 - 12 | 7 | ++---------------------+-----------------------+ +| 12 - 15 | 8 | ++---------------------+-----------------------+ +| 15 - 18 | 9 | ++---------------------+-----------------------+ +| 18 - 21 | 10 | ++---------------------+-----------------------+ +| 21 - 24 | 11 | ++---------------------+-----------------------+ +| 24 - 36 | 12 | ++---------------------+-----------------------+ +| 36 - 48 | 13 | ++---------------------+-----------------------+ +| 48 - 60 | 15 | ++---------------------+-----------------------+ +| 60 - 72 | 18 | ++---------------------+-----------------------+ +| 72 - 84 | 21 | ++---------------------+-----------------------+ +| 84 - 96 | 24 | ++---------------------+-----------------------+ +| 96 - 108 | 27 | ++---------------------+-----------------------+ +| 108 - 120 | 30 | ++---------------------+-----------------------+ +| 120 - 132 | 33 | ++---------------------+-----------------------+ +| 132 - 144 | 36 | ++---------------------+-----------------------+ +| 144 - 156 | 39 | ++---------------------+-----------------------+ +| 156 - 168 | 42 | ++---------------------+-----------------------+ +| 168 - 180 | 45 | ++---------------------+-----------------------+ +| 180 - 192 | 48 | ++---------------------+-----------------------+ +| 192 - 204 | 51 | ++---------------------+-----------------------+ +| 204 - 216 | 54 | ++---------------------+-----------------------+ +| 216 - 228 | 57 | ++---------------------+-----------------------+ +| 228 - 240 | 60 | ++---------------------+-----------------------+ +| 240 - 252 | 62 | ++---------------------+-----------------------+ +| 252 - 264 | 63 | ++---------------------+-----------------------+ +| 264 - 276 | 64 | ++---------------------+-----------------------+ +| 276 - 288 | 65 | ++---------------------+-----------------------+ +| 288+ | 66+ | ++---------------------+-----------------------+ + +Special Case: Employees Hired Before 2014 +----------------------------------------- + +For employees who started before January 1, 2014, the notice period calculation is divided into two +parts: + +**Part 1: Seniority acquired before December 31, 2013** + +- **Lower-level employees** (annual gross salary ≤ €32,254): The notice period is 3 months for the + first 5 years of seniority, increasing by 1.5 months per additional year. +- **Higher-level employees** (annual gross salary > €32,254): The notice period is 1 month per + started year of seniority, with a minimum of 3 months. + +**Part 2: Seniority acquired from January 1, 2014 onwards** + +The standard notice period rules from 2014 apply to seniority acquired after this date. + +The total notice period is the sum of both periods calculated separately. + +Severance Pay Calculation +------------------------- + +If an employee does not serve their notice period, severance pay is calculated based on: + +- The remaining notice duration. +- The employee’s last salary. +- Additional compensation such as bonuses, stock options, and insurance contributions. + +The severance pay consists of: + +- The current salary, which corresponds either to the full notice period that should normally be + observed or the remaining part of it. +- Benefits acquired during the contract (e.g., meal vouchers, company car, mobile phone usage). + +The current salary is determined as follows: + +- The employee’s gross monthly salary at the time of dismissal. +- All recurring bonuses, except for one-time bonuses (e.g., team work bonus, seniority bonus). +- Additional compensation for overtime hours worked over a longer period. +- Variable salary (average over the last twelve months). + +The system automatically generates a termination payslip including these calculations, ensuring +compliance with Belgian labor laws. + +How does it work in Odoo? +------------------------- + +In Odoo, to access the departure process, go to the employee form view and click on +:menuselection:`Action --> Departure: Notice Period and payslip` or navigate to +:menuselection:`Payroll --> Reporting --> Belgium --> Departure: Notice Period`. + + .. image:: belgium/departure-notice-01.png + :alt: Open Departure Notice + +In the wizard that appears, select the reason for departure, provide a description of the departure, +and specify the dismissal date. The employee's seniority is calculated based on their contract +history, and the notice period is determined accordingly. You can also indicate whether the employee +will be working during the notice period. + + .. image:: belgium/departure-notice-02.png + :alt: Departure Notice Wizard + +If the employee is working during the notice period, there are no termination fees to calculate, and +the notice period will be recorded on the employee's form. + +If the employee is working partially or not at all, the wizard will generate and calculate a +termination fees payslip. + + .. image:: belgium/departure-notice-03.png + :alt: Departure Notice: Termination Fees + +The payslip takes into account all the salaries and benefits the employee would have received over +the course of a year to calculate a virtual annual remuneration. This amount is then prorated based +on the notice period to convert it into a gross salary. + +A detailed summary is provided on the payslip. + + .. image:: belgium/departure-notice-04.png + :alt: Departure Notice: Termination Fees Payslip 1 + + .. image:: belgium/departure-notice-05.png + :alt: Departure Notice: Termination Fees Payslip 2 + + +Conclusion +---------- + +This module simplifies the departure process by providing clear and automatic calculations for the +notice period and severance pay. It helps HR teams ensure compliance and streamline the exit process +for employees. + +.. _belgium_payroll/holiday_attests: + +Departure: Holiday Attests +========================== + +Overview +-------- + +In Belgium, when an employee leaves a company, the employer is required to provide vacation +attestations. These documents help the new employer determine the employee's vacation entitlements +and any vacation pay due. Odoo facilitates the automatic generation of these attestations based on +payroll and time-off data. + +Types of Attestations +--------------------- + +Odoo generates two types of vacation attestations: + +1. **For the previous year (N-1)**: If the employee has not yet taken all the vacation days from the + previous year. +2. **For the current year (N)**: Covering the vacation rights accrued and used in the year of + departure. + +Each attestation includes details such as: + +- The period the employee was employed. +- Agreed working time and any modifications. +- Gross amounts of single and double vacation pay paid. +- Social security contributions paid by the employer. +- Number of vacation days already taken. +- Additional (European) vacation pay and days. + +Calculation Logic in Odoo +------------------------- + +Odoo computes the attestations based on payroll and leave data. The main calculations include: + +1. **Retrieving Payroll and Leave Records** + - The system identifies the employee's payroll records for the current and previous years. + - It retrieves validated leave requests and allocations. + +2. **Computing Gross Remuneration** + - The gross annual salary for both the current and previous years is computed from payroll + records. + - The average monthly salary is calculated for unpaid leave adjustments. + +3. **Time-Off Calculations** + - The number of vacation days taken and allocated in the current year is determined. + - Unpaid leave days are accounted for separately. + +4. **Fictitious Remuneration Calculation** + - If unpaid leave was taken, Odoo computes a fictitious remuneration adjustment using the + formula: + ``Fictitious Remuneration = (Unpaid Leave Days * Average Monthly Salary * 3) / (13 * 5)`` + +5. **Generating the Final Attestation** + - Odoo creates a payroll entry reflecting the vacation pay due. + - The attestation document is generated and can be printed or exported. + +Two payslips are created: + +1. **Payslip for the current year (`termination_payslip_n`)** + This payslip covers the employee's last salary period in the year of termination. + +2. **Payslip for the previous year (`termination_payslip_n1`)** + This one accounts for unpaid amounts related to the previous year. + +Each payslip is generated using the appropriate payroll structure, ensuring correct calculations for +all entitlements and deductions. + +Before computing the final payment, the system gathers necessary payroll data: + +1. Annual Gross Salary Calculation + +To estimate the employee's **annual gross salary**, the system looks for the most recent validated +monthly payslip. If a payslip is found, the **gross salary** from that payslip is multiplied by 12 +to get an annual estimate. If no payslip exists, the annual gross salary is set to **zero**. + +2. European Leave Recovery + +The system retrieves all **European leave days (LEAVE216)** taken by the employee during the current +year. It then calculates the **total amount paid for these leaves** and determines how much should +be deducted. + +The deduction follows these principles: + +- If an employee has taken **European holidays (additional vacation days)**, the amount paid in + advance must be recovered. +- The recovery is either: + + - Deducted from **the double vacation pay (85%)** for the next year. + - Or, if the employee leaves, deducted from the final termination payslip. + +- If leave has been taken, the **termination certificate** must specify: + + - The **number of European leave days** already granted. + - The **gross allowance** corresponding to these days. + +To ensure fairness, the system first checks whether a deduction has already been applied in the +**double vacation pay**. If so, only the remaining amount is deducted from the final payslip. + +Once the required values are determined, they are recorded in the payslip as +**additional payroll inputs**: + +- **Gross salary reference**: Includes the final salary amount plus any fictitious remuneration. +- **European leave deduction**: Deducts the previously paid European leave amounts. +- **Other inputs**: Allocates time off taken, taxable amounts, and any outstanding allocations. + +After setting these values, the system **computes the payslip** to ensure all deductions and +payments are correctly applied. + +This process ensures that the final **termination payslip** takes into account all salary +components, including **annual gross pay, European leave recovery, and any unpaid entitlements**. +Odoo retrieves past payslips and time-off records to ensure compliance with +**Belgian payroll regulations**. + +By automating this process, Odoo minimizes manual intervention, reducing errors and ensuring +employees receive the correct termination payments. + +How does it work in Odoo? +------------------------- + +In Odoo, to access the holiday attests process, go to the employee form view and click on +:menuselection:`Action --> Departure: Holiday Attests` or navigate to +:menuselection:`Payroll --> Reporting --> Belgium --> Departure: Holiday Attests`. + + .. image:: belgium/departure-attests-01.png + :alt: Open Departure Holiday Attests + +In the wizard that appears, you can see all the payslips over the current and last year, the time +off requests and allocations. You can also encode the unpaid time off you would like to declare on +that holiday attest. + + .. image:: belgium/departure-attests-02.png + :alt: Departure Holiday Attests Payslips + + .. image:: belgium/departure-attests-03.png + :alt: Departure Holiday Attests Time off + + .. image:: belgium/departure-attests-04.png + :alt: Departure Holiday Attests Unpaid + +In our example, the employee also took 1 European time off during the N-year. Once you're ready, +click the **Validate & Compute holiday attests** button. 2 payslips are generated for each +considered period (N and N-1). + + .. image:: belgium/departure-attests-05.png + :alt: Departure Holiday Attests Payslips + +Once validated, two .pdf documents are generated. One **classic payslip** and one +**holiday attests** for the future employer. + +For year N-1, you can see that all legal time off were taken. + + .. image:: belgium/departure-attests-06.png + :alt: Departure Holiday Attests Attest N-1 + + .. image:: belgium/departure-attests-07.png + :alt: Departure Holiday Attests Payslip N-1 + +For year N, you can also see the number off additional time off (european) and already taken legal +time off are taken into account as well. + + .. image:: belgium/departure-attests-08.png + :alt: Departure Holiday Attests Attest N + + .. image:: belgium/departure-attests-09.png + :alt: Departure Holiday Attests Payslip N + + +Important Notes +--------------- + +- The feature is only available for companies registered in Belgium. +- If the notice period is not set for an employee, Odoo will prompt for this information. +- Employers must ensure vacation attestations are provided before the employee needs to submit + them to their new employer or the ONEM. + +By using Odoo's automated attestation generation, companies can ensure compliance with Belgian +labor laws while reducing manual administrative work. + + +.. _belgium_payroll/273_sheets: + +Intellectual Property and 273 Sheets +==================================== + +Introduction +------------ + +The 273S declaration is used for the **Prepayment on Mobile Income (Pr.M)**, which concerns the +taxation of **Author's Rights** and **Neighboring Rights** (also known as **Revenus Mobilier**). +These are specific types of income that are subject to particular tax treatment in certain +jurisdictions. + +This document provides users with essential information about how the 273S declaration functions +within Odoo for reporting income derived from these rights, including applicable tax rates and +conditions. + +Tax Rates and Calculation +------------------------- + +The net income from Author's Rights and Neighboring Rights is taxable at a specific rate of **15%**. +However, the effective tax rate can vary based on the application of flat-rate deductions. These +flat rates reduce the taxable amount, leading to a lower effective tax rate for lower incomes. + +Key Points of Taxation: + +- **Effective Tax Rate**: + + - For incomes below the first flat-rate threshold, the effective tax rate can be as low as + **7.5%**. + - For incomes reaching the flat-rate ceiling of **37,500 EUR** (indexed annually), the rate can + increase to **12%**. + +- **Additional Taxes**: Income from Author's Rights and Neighboring Rights must be declared in the + personal income tax declaration. As a result, municipal surcharges may also apply to the tax due. + +The **prepayment** of the tax is handled via a withholding tax on the income. The debtor of the +income (e.g., the employer or company paying the royalties) must submit the 273S declaration to the +tax authorities. This withholding tax rate is generally **15%**, but for incomes exceeding the +indexed ceiling of **37,500 EUR**, the rate increases to **30%**. + +Benefits of Author's Rights in Employment Contracts +--------------------------------------------------- + +Companies can offer tax-advantageous remuneration to their directors or employees by granting +**Author's Rights**. These rights are subject to a **15% withholding tax**, but there are flat-rate +deductions that make this tax treatment very favorable, especially when incomes are lower. + +Important Considerations: + +- **Creative Works**: To qualify for Author’s Rights protection, the work must be creative, + original, and fixed in a tangible form. Simple ideas or concepts are not eligible. +- **Exploitation Requirement**: From January 1, 2023, a new regulation mandates that transferred or + licensed protected works must be exploited, meaning they must be used for public communication, + execution, representation, or reproduction. +- **Eligibility for Tax Benefits**: To benefit from the favorable tax regime, the rights holder + must meet specific criteria, such as: + + - Holding an "Artistic Work Certificate." + - Licensing or transferring rights to a third party for public communication or reproduction. + +- **Income Ratio Restrictions**: The proportion of income from Author's Rights in relation to + regular salary will be capped at **30%**, with **70%** of the total income being subject to + regular income tax. +- **Income Cap**: The absolute ceiling for qualifying income under this regime remains + **37,500 EUR** (indexed at **70,220 EUR** for the 2024 income year). + +If your average income from the last four years exceeds this ceiling, you will no longer be +eligible for the advantageous tax regime. + +Ruling Request: +For greater clarity on the scope and remuneration of the transfer of Author's Rights, an advanced +agreement with the tax authorities (referred to as a **ruling**) can be requested. + +Tax Treatment of Author’s Rights Income +--------------------------------------- + +Since 2008, income from the transfer or licensing of Author's Rights has benefited from a favorable +tax treatment. Specifically, the income is subject to: + +- **15% Withholding Tax** up to an indexed ceiling of **70,220 EUR** (2023 income year). +- **Flat-Rate Deductions**: + - **50% flat-rate deduction** applies to the first **18,720 EUR** of income. + - **25% flat-rate deduction** applies to the next **18,730 EUR** (from **18,720 EUR to + 37,450 EUR**). + +Example of Tax Impact: + +For example, if a company director receives **10,000 EUR** in Author's Rights income, they will pay +**750 EUR** in tax (15% of the income after the flat-rate deductions), leaving them with a net +income of **9,250 EUR**. This results in an effective tax rate of **7.5%** on the Author's Rights +income. + +Odoo Integration for Declaration 273S +------------------------------------- + +Odoo users can efficiently manage the submission of the **273S Declaration** for Author’s Rights +and Neighboring Rights income via the Odoo Payroll module. Here’s a quick overview of how this can +be done: + +1. **Set Up Author’s Rights in Odoo**: + +On the employees form view, make sure the **Intellectual Property** checkbox is enabled, and the +allocated salary percentage is specified as well. + + .. image:: belgium/273s-06.png + :alt: Intellectual Property Config + +Once a payslip is generatedn, the IP part is computed based on the intellectual property percentage +and the gross salary. The tax is computed accordingly based on the revenue amount. + + .. image:: belgium/273s-07.png + :alt: Intellectual Property Payslip 1 + + .. image:: belgium/273s-08.png + :alt: Intellectual Property Payslip 2 + +2. **Generate the 273S Form**: + +Odoo can generate the 273S form automatically based on the income data entered into the system. +Ensure that all required details, including the amount of income subject to the tax, are accurately +entered. + +Navigate to :menuselection:`Payroll App --> Reporting --> Belgium --> 273S Sheet` to create a new +record + + .. image:: belgium/273s-01.png + :alt: 273S Menu Item + +Select the reference year and month + + .. image:: belgium/273s-02.png + :alt: 273S Wizard + +Click on **Export XML file** to generate the declaration and on **Export PDF File** to generate the +printed details. + + .. image:: belgium/273s-03.png + :alt: 273S Wizard File Generation + +On the first PDF section, you find the company information and the global declaration + + .. image:: belgium/273s-04.png + :alt: 273S PDF Company Info + +On the second one, you find the employees specific information + + .. image:: belgium/273s-05.png + :alt: 273S PDF Employee Info + +3. **File the 273S Declaration**: + +After generating the XML file, the company or the debtor of the income can submit it to the tax +authorities directly from myminfin. +Keep track of the filing and payment deadlines to ensure timely submission and compliance. + +Conclusion +---------- + +The **273S Declaration** is an essential tool for companies and individuals benefiting from the +favorable tax regime on Author’s Rights and Neighboring Rights. By leveraging Odoo's tax management +features, users can ensure compliance while optimizing their tax liabilities. + +For further assistance, please refer to Odoo documentation or consult a tax professional. + + +.. _belgium_payroll/274xx_sheets: + +274.XX Sheets +============= + +This document provides an overview of Declaration 274, its components, and how it is handled within +Odoo. + +1. Declaration 274.10 +--------------------- + +Withholding tax is an advance payment on professional income tax. It is calculated based on +guidelines established by the tax administration. While reducing withholding tax is generally not +allowed, employees may request to pay more in order to better match their final tax liability. + +Withholding tax must be deducted from both employees' and company directors' income. If the +withholding tax is insufficient, advance tax payments must be made to avoid additional tax +penalties. + +In practice, some employees do not inform their employer of personal changes (e.g., having a child), +which can affect tax calculations. + +Withholding tax must be declared and paid either quarterly or monthly using form 274. These +declarations must be submitted via the FINPROF application by the 15th of the month following the +reporting period. + +Taxable income and corresponding withholding tax must be recorded in fiscal remuneration forms +281.x and summary statements 325x. Employers failing to report these correctly may be subject to a +309% penalty on undisclosed amounts. + +The tax administration compares the declared amounts in form 274 with the amounts reported in the +fiscal forms. If withholding tax payments are insufficient, the company may be charged the +difference. If a 274 form is submitted without corresponding tax payment, additional tax penalties +will apply. + +It is crucial to adhere to all administrative guidelines to avoid unexpected tax charges. + +2. Declarations 274.32, 274.33, 274.34 +-------------------------------------- + +Withholding Tax Exemptions for Research Employees +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Companies employing scientific researchers may qualify for withholding tax reductions under +specific conditions: + +- **Form 281.32** applies to civil engineers and PhD holders. +- **Form 281.33** applies to employees holding a master's degree. +- **Form 281.34** applies to employees holding a bachelor's degree. + +Employers engaged in scientific research may be eligible for an exemption from withholding tax +payments. To qualify, they must register their R&D projects with Belspo. From August 1, 2023, this +registration must occur before the project begins. + +Tax Exemption Details +~~~~~~~~~~~~~~~~~~~~~ + +This tax incentive allows companies to retain 80% of the withholding tax deducted from researchers' +salaries. However, the exemption rate differs for researchers based on their qualifications: + +- PhD and master's degree holders: Full 80% exemption. +- Bachelor's degree holders: 50% of the full exemption amount. +- For non-SME companies, this limit is further reduced to 25%. + +The exemption applies only to the portion of working time dedicated to scientific research, covering +fundamental research, industrial research, or experimental development. + +This exemption does not affect the net salary of employees. + +Capping Rules +~~~~~~~~~~~~~ + +The total exemption granted to researchers with a bachelor's degree is limited to 25% of the +exemption granted to PhD and master's degree holders. For small companies (as defined in Article 15 +§§ 1-6 of the Companies Code), this limit is doubled. These rules have remained unchanged since +January 1, 2020. + +3. How It Works in Odoo +----------------------- + +Odoo automates the calculation and declaration of withholding tax exemptions using predefined +payroll structures. Below is an explanation of how the system processes these exemptions. + +Navigate to :menuselection:`Payroll App --> Reporting --> Belgium --> 274.XX Sheets` to create a +new declaration. + + .. image:: belgium/274xx-01.png + :alt: 274.XX Menu item + +Select the reference year and month, and the different amounts are computed accordingly. + +1. **Payroll Calculation** + - Odoo calculates gross salary and total withholding tax. + - It accounts for specific payroll components, including December double bonuses. + +2. **Filtering Eligible Payslips** + - Payslips linked to research-related contracts are considered. + - Employees are categorized based on their qualifications (PhD, master’s, or bachelor’s degrees). + +3. **Exemption Calculation** + - The withholding tax exemption is calculated at 80% of the withheld amount. + - Exemptions for bachelor's degree holders are capped according to regulations. + +4. **Final Adjustments** + - The system ensures compliance with legal capping rules. + - If necessary, adjustments are made based on the total exemption granted. + + .. image:: belgium/274xx-02.png + :alt: 274.XX Wizard + +Click on **Export XML file** to generate the file to post on FINPROF portal and the structured +communication to link to your payment. + + .. image:: belgium/274xx-03.png + :alt: 274.XX XML file + +Click on **Create 274.XX Sheets** to generate the .pdf files of those declarations + + .. image:: belgium/274xx-04.png + :alt: 274.XX PDF file + +Note that in order to make the exemption work properly, the certificate level should be correctly +configured on the employees form view. + + .. image:: belgium/274xx-05.png + :alt: 274.XX Employee Form + +The R&D occupational rate should be specified on the employee's contracts form view as well. + + .. image:: belgium/274xx-06.png + :alt: 274.XX Contract Form + +If the accounting application is installed and runnning properly, you can also post directly the +different amounts in your accounting entries. First you need to configure the journal and the +different accounts for each amount type. + + .. image:: belgium/274xx-07.png + :alt: 274.XX Accounts Configuration + +Then the accounting entries posting is achieved by clicking the **Post Journal Entries** button. + + .. image:: belgium/274xx-08.png + :alt: 274.XX Accouting Entries Posting + +Employers using Odoo can efficiently manage and report withholding tax exemptions, ensuring +compliance with regulatory requirements. + +For further details, consult the Odoo payroll and finance documentation or your tax advisor. + +.. _belgium_payroll/28110_declaration: + +281.10 Declaration +================== + +Introduction +------------ + +The Belgian fiscal declaration 281.10 is an annual statement that employers must submit to the tax +authorities, detailing the salaries and benefits provided to each employee. This declaration ensures +accurate tax calculations and compliance with Belgian tax regulations. + +Generating the Declaration in Odoo +---------------------------------- + +Odoo provides a streamlined process for generating the 281.10 declaration, offering both a +comprehensive XML file for electronic submission and individual PDF files for record-keeping. + +Global XML Declaration +~~~~~~~~~~~~~~~~~~~~~~ + +To generate the global XML file in Odoo, navigate to +:menuselection:`Payroll App --> Reporting --> Belgium --> 281.10 Sheet`. + +Then, create a new record by selecting the reference year. + +.. tip:: + The "Sending Type" and "Treatment Type" options are currently experimental and should be kept + at their default values to ensure a valid original declaration. + +Click the **Populate** button to generate the eligible employees, then click the **Create XML** +button. A green indicator will appear to confirm successful file generation. + + .. image:: belgium/28110-01.png + :alt: 281.10 Sheet XML creation + +Individual PDF Declaration +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To generate individual PDF files for each employee: + +Click the **Populate** button. A line will be generated for each employee who received a payslip +during the reference year. + + .. image:: belgium/28110-02.png + :alt: 281.10 Sheet Populate + +The PDF files are generated automatically in batches of 30, so the process may take some time to +complete. + + .. image:: belgium/28110-03.png + :alt: 281.10 Sheet Employee Lines + +Once all PDF files are generated, they can be posted to the employee documents portal if the +**Documents** application is installed and properly configured. + + .. image:: belgium/28110-04.png + :alt: 281.10 Sheet Documents Configuration + +Select the employees whose documents you want to post, then click the **Post PDF** button. + + .. image:: belgium/28110-05.png + :alt: 281.10 Sheet Post PDF + +Once posted, employees can access their documents via the portal in their profile section. + + .. image:: belgium/28110-06.png + :alt: My Profile + + .. image:: belgium/28110-07.png + :alt: My Documents + + .. image:: belgium/28110-08.png + :alt: My 281.10 Sheet PDF + +Submitting the XML Declaration +------------------------------ + +After generating the XML file, it must be submitted to the Belgian tax authorities. Ensure you are +familiar with the official submission process +(see: https://finances.belgium.be/fr/E-services/Belcotaxonweb/documentation-technique). + +The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must +be converted to the .bow format. + +This conversion requires the use of a validation module available under the +"Technical Documentation" section. + +The validation module has two prerequisites: + +- Java 8 must be installed. +- The certificate authority that signed the validation module must be recognized. + + +.. _belgium_payroll/28145_declaration: + +281.45 Declaration +================== + +Introduction +------------ + +The Belgian fiscal declaration 281.45 is an annual statement that entities must submit to the tax +authorities, detailing the amounts of author's rights and neighboring rights paid to beneficiaries. +This declaration ensures accurate tax reporting and compliance with Belgian tax regulations. + +Generating the Declaration in Odoo +---------------------------------- + +Odoo provides a streamlined process for generating the 281.45 declaration, offering both a +comprehensive XML file for electronic submission and individual PDF files for record-keeping. + +Global XML Declaration +~~~~~~~~~~~~~~~~~~~~~~ + +To generate the global XML file in Odoo, navigate to +:menuselection:`Payroll App --> Reporting --> Belgium --> 281.45 Sheet`. + +Then, create a new record by selecting the reference year. + +.. tip:: + The "Sending Type" and "Treatment Type" options are currently experimental and should be kept + at their default values to ensure a valid original declaration. + +Click the **Populate** button to generate the eligible employees, then click the **Create XML** +button. A green indicator will appear to confirm successful file generation. + + .. image:: belgium/28110-01.png + :alt: 281.45 Sheet XML creation + +Individual PDF Declaration +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To generate individual PDF files for each employee: + +Click the **Populate** button. A line will be generated for each employee who received a payslip +during the reference year. + + .. image:: belgium/28110-02.png + :alt: 281.45 Sheet Populate + +The PDF files are generated automatically in batches of 30, so the process may take some time to +complete. + + .. image:: belgium/28110-03.png + :alt: 281.45 Sheet Employee Lines + +Once all PDF files are generated, they can be posted to the employee documents portal if the +**Documents** application is installed and properly configured. + + .. image:: belgium/28110-04.png + :alt: 281.45 Sheet Documents Configuration + +Select the employees whose documents you want to post, then click the **Post PDF** button. + + .. image:: belgium/28110-05.png + :alt: 281.45 Sheet Post PDF + +Once posted, employees can access their documents via the portal in their profile section. + + .. image:: belgium/28110-06.png + :alt: My Profile + + .. image:: belgium/28110-07.png + :alt: My Documents + + .. image:: belgium/28110-08.png + :alt: My 281.45 Sheet PDF + +Submitting the XML Declaration +------------------------------ + +After generating the XML file, it must be submitted to the Belgian tax authorities. Ensure you are +familiar with the official submission process +(see: https://finances.belgium.be/fr/E-services/Belcotaxonweb/documentation-technique). + +The XML files containing the fiscal data to be sent via the Belcotax-on-web (BOW) application must +be converted to the .bow format. + +This conversion requires the use of a validation module available under the +"Technical Documentation" section. + +The validation module has two prerequisites: + +- Java 8 must be installed. +- The certificate authority that signed the validation module must be recognized. + + +.. _belgium_payroll/social_balance_sheet: + +Social Balance Sheet +==================== + +Introduction +------------ + +The Social Balance Sheet was introduced by the law of December 22, 1995, as part of measures for +the implementation of the multi-year employment plan. Companies required to file annual accounts +(including some that are not obligated to publish such accounts - see the National Bank of Belgium +website: www.nbb.be for details) must also prepare and submit a Social Balance Sheet to the National +Bank of Belgium. + +The Royal Decree of August 4, 1996, incorporates the Social Balance Sheet into the annual accounts, +specifically as an annex. This makes it an integral part of a company's financial statements. + +Contents of the Social Balance Sheet +------------------------------------ + +The content of the Social Balance Sheet is determined by the Royal Decree of January 30, 2001, +implementing the Company Code. The Social Balance Sheet consists of several sections: + +- Sections I and II: Information on employed persons and personnel movements during the fiscal year. +- Section III: Initiatives related to training. + +Since the Social Balance Sheet is part of a company's annual accounts, the works council receives +this information as part of its mission regarding economic and financial information. + +Additionally, the works council receives data on employment-related benefits along with annual +employment-related information (Trillium). These details were fully integrated into the Social +Balance Sheet until 2008. + +Scope of the Social Balance Sheet +--------------------------------- + +The Social Balance Sheet contains specific data related to workforce composition, staff turnover, +and training programs. Some organizations not required to publish annual accounts must still file a +separate Social Balance Sheet. This applies primarily to certain hospitals and private legal +entities employing at least 20 full-time equivalents (FTEs). + +Any company, association, or foundation with at least 20 workers on an annual average (in FTE) must +complete and submit the Social Balance Sheet. + +The Social Balance Sheet is part of: + +- "Other documents to be filed under the Company and Associations Code" (for companies); +- "Explanatory Notes" (for associations and foundations). + +Obligations by Entity Type +-------------------------- + +1. Companies, Associations, and Foundations Required to Publish a Social Balance Sheet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For Belgian companies employing at least one FTE: + +- **Standardized model**: This schema includes a "Social Balance Sheet" section, which must be + completed. +- **Specific model**: If the model used does not include a Social Balance Sheet, it must be + provided separately. + +For Belgian associations and foundations employing at least 20 FTEs: + +- **Standard model**: Includes a "Social Balance Sheet" section that must be completed. +- **Specific model**: A separate Social Balance Sheet must be submitted if the chosen model does + not include one. + +Associations and foundations with fewer than 20 FTEs may voluntarily complete the Social Balance +Sheet but are not legally required to do so. + +For foreign companies, such as branches of foreign corporations and foreign non-profit organizations +(ASBL) with activities in Belgium, the Social Balance Sheet applies only to their Belgian +operations. + +The Social Balance Sheet is made publicly available by the Central Balance Sheet Office as part of +the financial statements submission. + +2. Entities Required to File a Separate Social Balance Sheet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Certain organizations that do not need to publish annual accounts must still submit a Social Balance +Sheet to the Central Balance Sheet Office. This data is used exclusively for statistical purposes +and is not made publicly available. Submission in these cases is free of charge. + +This exception applies to: + +- **Hospitals**, unless they are structured as limited liability companies or large ASBLs, which + must submit full financial statements, including the integrated Social Balance Sheet. +- **Private legal entities** that are not required to submit annual accounts but have at least 20 + employees. + +The required model depends on the entity type: + +- **Hospitals** must use the full or abridged Social Balance Sheet model based on their size. +- **Foreign entities** must use the full or abridged Social Balance Sheet model, based on the size + of their Belgian establishments. +- **Private legal entities** with at least 50 employees must use the full model, while those with + 20-49 employees may use the abridged model. + +Social Balance Sheet Models +--------------------------- + +The latest versions of the Social Balance Sheet models can be found at the following links: + +- **Full Model** + - PDF: [Full Social Balance Sheet](https://www.nbb.be/doc/ba/models/social%20balance/release_2021_fr_bilan_social_c_20121201.pdf) + - Word: [Full Social Balance Sheet](https://www.nbb.be/doc/ba/models/social%20balance/release_2021_fr_bilan_social_c_20121201.docx) + +- **Abridged Model** + - PDF: [Abridged Social Balance Sheet](https://www.nbb.be/doc/ba/models/social%20balance/release_2021_fr_bilan_social_a_20121201.pdf) + - Word: [Abridged Social Balance Sheet](https://www.nbb.be/doc/ba/models/social%20balance/release_2021_fr_bilan_social_a_20121201.docx) + +Assistance in Completing the Social Balance Sheet +------------------------------------------------- + +For guidance on completing the Social Balance Sheet, refer to the following resources: + +- **CNC Opinion S100**: [Questions and Answers on the Social Balance Sheet (1997)](https://www.nbb.be/doc/ba/models/social%20balance/avis_cnc_s100.pdf) +- **CNC Opinion 2009/12**: [Social Balance Sheet and Statutory Workers (2010)](https://www.nbb.be/doc/ba/models/social%20balance/avis_cnc_2009_12.pdf) +- **Explanatory Note**: [Information on Training Activities (2008)](https://www.nbb.be/doc/ba/models/social%20balance/notice_formations_fr_4%20avril%202008.pdf) + +Submitting a Separate Social Balance Sheet +------------------------------------------ + +A separate Social Balance Sheet must be submitted online as a PDF via the **Filing** application. +The model can be selected under "Other Documents," with options for "Abridged Social Balance Sheet" +or "Full Social Balance Sheet." + +For further details, visit the National Bank of Belgium's website: www.nbb.be. + +Generating Social Balance Sheet in Odoo +--------------------------------------- + +Navigate to :menuselection:`Payroll App --> Reporting --> Belgium --> Social Balance Sheet` and +select the reference period. + + .. image:: belgium/social-balance-sheet-01.png + :alt: Social Balance Sheet Wizard + +Then click **Export to PDF** or **Export to XLSX** to generate the social balance sheets containing +all the data available in your Odoo database. + +The different pieces of information are split by gender, or by working schedule (Part Time, Fulll +Time, Full Time equivalent), for the whole period, and month by month, as requested by the National +Bank of Belgium. + + .. image:: belgium/social-balance-sheet-02.png + :alt: Social Balance Sheet PDF Header + + .. image:: belgium/social-balance-sheet-03.png + :alt: Social Balance Sheet PDF Content + + .. image:: belgium/social-balance-sheet-04.png + :alt: Social Balance Sheet XLSX Content + + +.. _belgium_payroll/social_security_certificate: + +Social Security Certificate +=========================== + +The Social Security Certificate in Odoo provides a detailed breakdown of all social charges paid by +the employee or employer, categorized by type (e.g., year-end bonus, private car reimbursement, +double holiday pay, etc.). This report is particularly useful for audit companies and for verifying +that the declared amounts align with accounting entries. + +Accessing the Social Security Certificate +----------------------------------------- + +To generate the Social Security Certificate, follow these steps: + +1. Navigate to :menuselection:`Payroll App --> Reporting --> Belgium --> Social Security Certificate`. +2. Select the reference period. +3. Choose the data aggregation level: + - By company + - By department + - By employee + + .. image:: belgium/social-security-certificate-01.png + :alt: Social Security Certificate Wizard + +Exporting the Report +-------------------- + +Once the selections are made, you can export the report in different formats: + +- Click **Export to PDF** to generate a printable version of the Social Security Certificate. +- Click **Export to XLSX** to generate an Excel file containing all relevant data. + + .. image:: belgium/social-security-certificate-02.png + :alt: Social Security Certificate PDF Header + + .. image:: belgium/social-security-certificate-03.png + :alt: Social Security Certificate PDF Content + + .. image:: belgium/social-security-certificate-04.png + :alt: Social Security Certificate XLSX Content + +This feature ensures full transparency and compliance with social security regulations in Belgium. + +.. _belgium_payroll/individual_accounts: + +Individual Accounts +=================== + +Introduction +------------ + +The individual account provides workers with a detailed overview of their earnings, deductions +(such as social security contributions, withholding tax, etc.), and the working days performed, on +a pay period basis. Additionally, it contains all relevant administrative data related to +remuneration. + +Required Information in the Individual Account +---------------------------------------------- + +The individual account must include several mandatory details as determined by Royal Decree. + +**Employer Identification:** + +- Name, address, ONSS number, ONVA number +- Relevant joint committee (or sub-committee) +- Name of the holiday fund for workers +- Insurer for work-related accidents +- Approved social secretariat +- Relevant affiliation numbers + +**Worker Identification:** + +- Name, address, date of birth, gender, tax status +- Type of employment contract, job title, professional qualification +- Workplace location (or note if working at multiple locations) +- Start and end date of employment +- Employee ID number, starting salary +- Remuneration components and payment periodicity + +**Remuneration Components:** + +- Per pay period (daily, weekly, bi-weekly, or monthly): + + - Number of working days and hours (regular, additional, and overtime) + - Days of work interruption and reasons (illness, vacations, public holidays, replacement days, + compensatory rest days, etc.) + - Fixed or hourly salary, variable remuneration, bonuses, meal vouchers, eco vouchers, holiday + pay (including early holiday pay if applicable), severance pay, year-end bonuses (as per + sectoral or other collective labor agreements), benefits in kind and their estimated value + - Gross amount of all remuneration components + - Amounts subject to social and tax deductions + - Various social and tax deductions: personal ONSS contributions, withholding tax, special + social security contributions + - Net amount payable to the worker + - Other payments made by the employer, including reimbursement of travel expenses, allowances, + and other payments + +- Per quarter: + + - Number of actual working days + - Days of work interruption by reason + - Total remuneration subject to social security contributions + - Employee social security contribution amounts + +- Per year: + + - Total amounts subject to social security contributions + - Employee social security contribution amounts + - Taxable remuneration and other amounts + - Withholding tax amount + +Responsibility for Establishing and Updating the Individual Account +------------------------------------------------------------------- + +Employers using Odoo Belgian Payroll can generate the individual accounts of their workers. + +However, to ensure accurate record-keeping, employers must: + +- Ensure payment of sector-mandated year-end bonuses +- Ensure that all public holidays, legal vacation days, and compensatory rest days are taken + before the end of the year +- Plan collective vacation and replacement public holidays in advance +- Pay workers their holiday pay (including early holiday pay if applicable) +- Distribute due eco vouchers +- Pay any required travel expenses between home and work + +If these obligations are met, the corresponding data will be included in the individual account. + +Storage and Retention Period of the Individual Account +------------------------------------------------------ + +The individual account is a social document that must be kept by the employer for a specified +period after its creation. + +Employers may store individual accounts: + +- At the ONSS-registered address +- At a workplace +- At their home or registered office if located in Belgium; otherwise, at the residence of a + designated agent in Belgium +- At the office of the approved social secretariat, if affiliated + +Records must be kept legible and in a format allowing efficient oversight. The retention period is +**five years** from the end of the annual closing of the account. + +When Must Workers Receive a Copy of Their Individual Account? +------------------------------------------------------------- + +Each worker must receive a copy of their individual account: + +- **During employment:** Before March 1 of the following year +- **At the end of employment:** Within two months following the end of the quarter in which the + contract ended +- **If additional payments occur after contract termination:** A copy reflecting the additional + payment must be provided within two months of the payment + +Additionally, employers must issue a **simplified individual account** with certain worker and +employer details within two months of the worker’s employment start date. + +Any modifications to mandatory details, such as job function or workplace location, must be +communicated in writing (e.g., an updated simplified individual account) within one month of the +effective change date. + +Generate Individual Accounts in Odoo +------------------------------------ + +Navigate to :menuselection:`Payroll App --> Reporting --> Belgium --> Individual Accounts`. + + .. image:: belgium/individual-account-01.png + :alt: Individual Account Menu + +Then select the reference year and click the **Populate** button. The .pdf are displayed as soon as +they are available and are generated 30 by 30, this could take some time according to the number of +employees. + + .. image:: belgium/individual-account-02.png + :alt: Individual Account Wizard + +On the first page, you find the employer and employee general information. + + .. image:: belgium/individual-account-03.png + :alt: Individual Account PDF Header + +Next, you find all the employee worked days and payslip lines, month by month, split by structure +(eg: End of year bonus and monthly pay). + + .. image:: belgium/individual-account-04.png + :alt: Individual Account PDF Month by Month + +Next, you find the same information quarter by quarter and summarized for the whole year. + + .. image:: belgium/individual-account-05.png + :alt: Individual Account PDF Quarter by Quarter + +Once all PDF files are generated, they can be posted to the employee documents portal if the +**Documents** application is installed and properly configured. + + .. image:: belgium/individual-account-07.png + :alt: Individual Account Documents Configuration + +Select the employees whose documents you want to post, then click the **Post PDF** button. + + .. image:: belgium/individual-account-06.png + :alt: Individual Account Post PDFs + + +.. _belgium_payroll/working_schedule_change: + +Working Schedule Change +======================= + +Incoming + +.. _belgium_payroll/december_pay: + +December Pay +============ + +Why a December Settlement? +-------------------------- + +An employer must pay a vacation allowance to an employee in December under two conditions: + +- If the employee has reduced their working hours during the vacation year. +- If the employee is unable to take all their vacation days before the end of the year. + +In principle, employers must ensure that employees take their annual vacation before December 31. +However, certain circumstances may prevent employees from using all their vacation days. In these +cases, the employer must pay the simple vacation allowance for unused days before the end of the +year. Additionally, if the employee has not received the double vacation allowance earlier in the +year (typically in May or June), they are entitled to receive it. + +**Note:** Starting in 2024, if an employee cannot use their vacation days due to specific reasons, +they will receive their simple vacation allowance in December and will be allowed to carry over +the unused days for up to 24 months. + +Reduction of Working Hours +-------------------------- + +When an employee reduces their average working hours with the same employer, the employer must pay +the vacation allowance in December of the year in which the reduction occurs, as if the employee +had left the company. + +**Possible scenarios:** + +- Transition to part-time work. +- Partial career break. +- Thematic leave on a part-time basis. +- Partial return to work after a full incapacity period. + +The settlement is calculated based on the previous vacation year's earnings and includes: + +- **Simple vacation allowance:** 7.67% of the gross salary from the previous year, including any + fictitious salary for assimilated interruption days, minus the simple vacation allowance already + paid during the vacation year. +- **Double vacation allowance:** 7.67% of the gross salary from the previous year, including any + fictitious salary for assimilated interruption days, minus the double vacation allowance already + paid during the vacation year. + +If all vacation days have been taken before the reduction in working hours, no additional +calculation is required. + +Inability to Use Vacation Days +------------------------------ + +As a general rule, all vacation days must be used within the vacation year. However, if an employee +is unable to take all their vacation due to force majeure or specific suspension reasons, the +employer must pay the following by December 31: + +- **Simple vacation allowance** for unused days, based on the December salary. +- **Double vacation allowance** if it has not yet been paid, based on the December salary. + +**Eligible reasons include:** + +- Common illness or accident. +- Work accident or occupational disease. +- Maternity leave, paternity leave (converted maternity leave), prophylactic leave. +- Birth, adoption, or reception leave. +- Parental leave or protective maternity leave measures. + +**New rule (effective end of 2024):** +Employees unable to take vacation due to the above reasons (except force majeure or protective +maternity leave measures) can carry over unused days for up to 24 months. Since the vacation +allowance is already paid in December of the vacation year, no additional payment will be made when +the carried-over days are used. + +Employer Payment Responsibilities +--------------------------------- + +The employer must pay any outstanding simple vacation allowance based on 7.67% of the gross salary +from the previous year. However, an exit vacation allowance based on the current year’s gross +salary is not due. + +If an employee reduces their working hours and continues in the same role the following year, an +additional vacation allowance calculation may be required in December. + +Example Calculation +------------------- + +1. In 2013, an employee works full-time (5 days per week). +2. In 2014, the employee works full-time until June 30, then switches to part-time (5 half-days + per week). +3. The employee takes vacation in August 2014 under the new part-time regime (20 half-days over + 4 weeks). +4. They receive a simple vacation allowance for 20 half-days and a double vacation allowance + equivalent to 92% of their monthly salary. +5. In December 2014, the employee receives additional simple (7.67%) and double (7.67%) vacation + allowances based on 2013’s gross salary, minus previously paid amounts. +6. In 2015, if the employee continues part-time, they receive vacation based on part-time hours + plus 5 full-time vacation days from the 2014 vacation year. +7. A second settlement in December 2015 includes additional simple (7.67%) and double (7.67%) + vacation allowances based on the 2014 gross salary, minus previously paid amounts. + +How to do it in Odoo +-------------------- + +On a classic payslip issued in December, press the **Compute December Holiday Pay** button to open +a configuration wizard. + + .. image:: belgium/december-pay-01.png + :alt: December Pay Button + +Based on the allocated and requested time off, the simple and double holiday pay for december +payslip are computed (and editable for manual encoding) + + .. image:: belgium/december-pay-02.png + :alt: December Pay Amount + +After validation, 2 additional inputs are stored on the payslip, and the payslip is re-computed to +take those new remunerations into account. + + .. image:: belgium/december-pay-03.png + :alt: December Pay Inputs + +The simple holiday pay is included into the gross remuneration. + + .. image:: belgium/december-pay-04.png + :alt: December Pay Simple + +The double holiday pay is computed separately and included into the net amount. + + .. image:: belgium/december-pay-05.png + :alt: December Pay Double + +.. _belgium_payroll/end_of_year_bonus: + +End of Year Bonus +================= + +This document explains the calculation of the thirteenth-month salary (year-end bonus) in Belgium +within Odoo. The calculation considers the employee's contracts, working time rates, and applicable +taxes. + +Calculation of the Thirteenth-Month Salary +------------------------------------------ + +Eligibility Criteria +~~~~~~~~~~~~~~~~~~~~ + +- The employee must have worked for at least **six complete months** in the year. +- Both full-time and part-time employees are eligible, with prorated calculations based on work + time. + +Salary Calculation +~~~~~~~~~~~~~~~~~~ + +The thirteenth-month salary is computed as follows: + +1. **Determine the Basic Salary**: + + - Retrieve the employee's contractual wage. + - Identify the applicable work rate. + +2. **Compute Eligible Months**: + + - If explicitly provided (`MONTHS` input), use the given number of months. + - Otherwise, calculate the number of complete months worked. + - Prorate the salary for partial-year work. + +3. **Adjust for Absences**: + + - Deduct unpaid absences to obtain the presence prorata. + - Consider up to 60 days of sick leave as paid time off. + +4. **Include Variable Revenues**: + + - If explicitly provided (`VARIABLE` input), use the given value. + - Otherwise, calculate the average variable revenue over the last year. + +5. **Final Amount**: + + - The final thirteenth-month amount is the sum of the prorated fixed salary and average + variable revenues. + +Withholding Tax Calculation +--------------------------- + +The withholding tax is calculated using a progressive rate system. The process involves: + +1. **Identify the Employee's Annual Taxable Revenue**: + + - Compute the annualized salary, including benefits in kind (e.g., company car, internet, mobile + phone, laptop). + - Apply reductions for dependent children. + +2. **Apply Tax Rates**: + + - Use predefined tax brackets to determine the base withholding tax rate. + - If applicable, apply a reduction based on the number of dependent children. + +Tax Brackets +~~~~~~~~~~~~ + +The withholding tax is applied progressively based on the following brackets (as of 2025): + ++--------------+--------------+------------+ +| Lower Bound | Upper Bound | Tax Rate | ++==============+==============+============+ +| 0.00 | 10,415.00 | 0.00% | ++--------------+--------------+------------+ +| 10,415.01 | 13,330.00 | 23.22% | ++--------------+--------------+------------+ +| 13,330.01 | 16,960.00 | 25.23% | ++--------------+--------------+------------+ +| 16,960.01 | 20,340.00 | 30.28% | ++--------------+--------------+------------+ +| 20,340.01 | 23,020.00 | 35.33% | ++--------------+--------------+------------+ +| 23,020.01 | 25,710.00 | 38.36% | ++--------------+--------------+------------+ +| 25,710.01 | 31,070.00 | 40.38% | ++--------------+--------------+------------+ +| 31,070.01 | 33,810.00 | 43.41% | ++--------------+--------------+------------+ +| 33,810.01 | 44,770.00 | 46.44% | ++--------------+--------------+------------+ +| 44,770.01 | 58,460.00 | 51.48% | ++--------------+--------------+------------+ +| 58,460.00 | ∞ | 53.50% | ++--------------+--------------+------------+ + +Tax Exemption +~~~~~~~~~~~~~ + +A withholding tax exemption is granted when the normal annual gross income does not exceed a +specific threshold, which is determined based on the number of dependent children [2]. + +A disabled dependent child counts as two. + +The method involves referring to a two-column table: + +- **Column 1**: Indicates the number of dependent children. +- **Column 2**: Specifies the maximum allowable normal annual gross income, based on the number of + dependent children listed in Column 1, which must not be exceeded to qualify for full or partial + exemption from withholding tax. + +After determining the annual gross income, two scenarios may arise: + +1. If the annual income exceeds the threshold, no exemption is granted. +2. If the annual income does not exceed the threshold, an exemption will be applied. + +The amount of this exemption corresponds to the difference between the annual gross income and the +threshold amount. + +Of course, if this difference exceeds the base withholding tax amount, no withholding tax will +be due. + ++-----------------+------------------------+ +| No. of Children | Max Revenue (EUR) | ++=================+========================+ +| 1 | 18,400.00 | ++-----------------+------------------------+ +| 2 | 21,930.00 | ++-----------------+------------------------+ +| 3 | 28,270.00 | ++-----------------+------------------------+ +| 4 | 35,330.00 | ++-----------------+------------------------+ +| 5 | 42,390.00 | ++-----------------+------------------------+ +| 6 | 49,450.00 | ++-----------------+------------------------+ +| 7 | 56,510.00 | ++-----------------+------------------------+ +| 8 | 63,570.00 | ++-----------------+------------------------+ +| 9 | 70,630.00 | ++-----------------+------------------------+ +| 10 | 77,690.00 | ++-----------------+------------------------+ +| 11 | 84,750.00 | ++-----------------+------------------------+ +| 12 | 91,810.00 | ++-----------------+------------------------+ + + +Tax Reductions +~~~~~~~~~~~~~~ + +When there is no justification for fully or partially exempting the exceptional allowance from +withholding tax, it is still possible to grant a reduction in withholding tax. + +To determine eligibility for this reduction, one must check whether the normal annual gross salary +exceeds a certain higher threshold, which varies according to the number of dependent children [3]. +This threshold is higher than the one used for exemption purposes. + +A disabled child counts as two. + +The method involves referring to a three-column table: + +- **Column 1**: Indicates the number of dependent children (up to a maximum of 5). +- **Column 2**: Specifies the percentage reduction in withholding tax, based on the number of + dependent children listed in Column 1, which must not be exceeded to qualify for the reduction. +- **Column 3**: Shows the threshold amount that must not be exceeded, corresponding to the number + of dependent children listed in Column 1. + +Two scenarios may arise: + +1. If the threshold amount is exceeded, no reduction will be granted. +2. If the threshold amount is not exceeded, a reduction will be applied to the withholding + tax amount, up to a percentage rate determined in Column 2. + +For employees with dependent children, tax reductions apply as follows: + ++-----------------+------------------+----------------+ +| No. of Children | Reduction (%) | Max Revenue | ++=================+==================+================+ +| 1 | 7.5% | 28,245.00 | ++-----------------+------------------+----------------+ +| 2 | 20.0% | 28,245.00 | ++-----------------+------------------+----------------+ +| 3 | 35.0% | 31,070.00 | ++-----------------+------------------+----------------+ +| 4 | 55.0% | 36,720.00 | ++-----------------+------------------+----------------+ +| 5+ | 75.0% | 39,550.00 | ++-----------------+------------------+----------------+ + +Final Tax Calculation +~~~~~~~~~~~~~~~~~~~~~ + +The final withholding tax amount is: + +.. math:: + + Tax = Gross Thirteenth Month × Applicable Tax Rate - Reduction (if applicable) + +The resulting tax is deducted from the gross thirteenth-month salary to determine the net amount +payable to the employee. + +The calculation considers work duration, absences, variable revenue, and applicable withholding +taxes. Odoo automates these calculations to ensure compliance with Belgian labor laws and tax +regulations. + +Generate a batch in Odoo +------------------------ + +Navigate to :menuselection:`Payroll App --> Payslips --> Batches` and create a new record with valid +dates (here december 2024) + + .. image:: belgium/end-of-year-bonus-01.png + :alt: End of Year Bonus Batch + +Then click the **Generate Payslips** button, select the CP200 salary structure type and the +Thirteen Month salary structure. You can also filter eleligible employees by department and / or +job position. + + .. image:: belgium/end-of-year-bonus-02.png + :alt: End of Year Bonus Batch Wizard + +Once validated, a payslip is generated for each employee. + + .. image:: belgium/end-of-year-bonus-03.png + :alt: End of Year Bonus Payslips + +You can now check the different payslips before validation. Once validated, the PDF files are +generated and posted on employee portals as for classic payslips. + + .. image:: belgium/end-of-year-bonus-04.png + :alt: End of Year Bonus PDF + +.. _belgium_payroll/double_holiday_pay: + +Double Holiday Pay +================== + +Introduction +------------ + +Double holiday pay is an additional bonus paid to employees and workers during their annual leave. +The amount depends on the employee's or worker's salary. + +How Is Double Holiday Pay Calculated? +------------------------------------- + +For employees, double holiday pay amounts to 92% of their gross salary for the month when they +take their main annual leave. This amount is calculated based on the number of months worked or +considered equivalent in the previous year. + +Impact of Additional or European Leave +-------------------------------------- + +If you take additional or European leave, your employer will pay you regular holiday pay for that +leave. However, the following year, this amount will be deducted from your double holiday pay. This +is because additional leave is considered an advance on the next year's legal leave. + +Factors Affecting the Calculation +--------------------------------- + +1. **Months Worked**: The calculation is based on the number of months you worked in the previous + year. +2. **Absences**: If you had unpaid absences, they may reduce your double holiday pay. +3. **Variable Revenues**: Bonuses and commissions earned in the previous year can impact the total + amount of double holiday pay. +4. **Withholding Taxes**: The double holiday pay is subject to income tax deductions, which depend + on your annual earnings and family situation. + +Withholding Tax Calculation +--------------------------- + +The withholding tax is calculated using a progressive rate system. The process involves: + +1. **Identify the Employee's Annual Taxable Revenue**: + + - Compute the annualized salary, including benefits in kind (e.g., company car, internet, mobile + phone, laptop). + - Apply reductions for dependent children. + +2. **Apply Tax Rates**: + + - Use predefined tax brackets to determine the base withholding tax rate. + - If applicable, apply a reduction based on the number of dependent children. + +Tax Brackets +~~~~~~~~~~~~ + +The withholding tax is applied progressively based on the following brackets (as of 2025): + ++--------------+--------------+------------+ +| Lower Bound | Upper Bound | Tax Rate | ++==============+==============+============+ +| 0.00 | 10,415.00 | 0.00% | ++--------------+--------------+------------+ +| 10,415.01 | 13,330.00 | 19.17% | ++--------------+--------------+------------+ +| 13,330.01 | 16,960.00 | 21.20% | ++--------------+--------------+------------+ +| 16,960.01 | 20,340.00 | 26.25% | ++--------------+--------------+------------+ +| 20,340.01 | 23,020.00 | 31.30% | ++--------------+--------------+------------+ +| 23,020.01 | 25,710.00 | 34.33% | ++--------------+--------------+------------+ +| 25,710.01 | 31,070.00 | 36.34% | ++--------------+--------------+------------+ +| 31,070.01 | 33,810.00 | 39.37% | ++--------------+--------------+------------+ +| 33,810.01 | 44,770.00 | 42.39% | ++--------------+--------------+------------+ +| 44,770.01 | 58,460.00 | 47.44% | ++--------------+--------------+------------+ +| 58,460.00 | ∞ | 53.50% | ++--------------+--------------+------------+ + +Tax Exemption +~~~~~~~~~~~~~ + +A withholding tax exemption is granted when the normal annual gross income does not exceed a +specific threshold, which is determined based on the number of dependent children [2]. + +A disabled dependent child counts as two. + +The method involves referring to a two-column table: + +- **Column 1**: Indicates the number of dependent children. +- **Column 2**: Specifies the maximum allowable normal annual gross income, based on the number of + dependent children listed in Column 1, which must not be exceeded to qualify for full or partial + exemption from withholding tax. + +After determining the annual gross income, two scenarios may arise: + +1. If the annual income exceeds the threshold, no exemption is granted. +2. If the annual income does not exceed the threshold, an exemption will be applied. + +The amount of this exemption corresponds to the difference between the annual gross income and the +threshold amount. + +Of course, if this difference exceeds the base withholding tax amount, no withholding tax will +be due. + ++-----------------+------------------------+ +| No. of Children | Max Revenue (EUR) | ++=================+========================+ +| 1 | 18,400.00 | ++-----------------+------------------------+ +| 2 | 21,930.00 | ++-----------------+------------------------+ +| 3 | 28,270.00 | ++-----------------+------------------------+ +| 4 | 35,330.00 | ++-----------------+------------------------+ +| 5 | 42,390.00 | ++-----------------+------------------------+ +| 6 | 49,450.00 | ++-----------------+------------------------+ +| 7 | 56,510.00 | ++-----------------+------------------------+ +| 8 | 63,570.00 | ++-----------------+------------------------+ +| 9 | 70,630.00 | ++-----------------+------------------------+ +| 10 | 77,690.00 | ++-----------------+------------------------+ +| 11 | 84,750.00 | ++-----------------+------------------------+ +| 12 | 91,810.00 | ++-----------------+------------------------+ + + +Tax Reductions +~~~~~~~~~~~~~~ + +When there is no justification for fully or partially exempting the exceptional allowance from +withholding tax, it is still possible to grant a reduction in withholding tax. + +To determine eligibility for this reduction, one must check whether the normal annual gross salary +exceeds a certain higher threshold, which varies according to the number of dependent children [3]. +This threshold is higher than the one used for exemption purposes. + +A disabled child counts as two. + +The method involves referring to a three-column table: + +- **Column 1**: Indicates the number of dependent children (up to a maximum of 5). +- **Column 2**: Specifies the percentage reduction in withholding tax, based on the number of + dependent children listed in Column 1, which must not be exceeded to qualify for the reduction. +- **Column 3**: Shows the threshold amount that must not be exceeded, corresponding to the number + of dependent children listed in Column 1. + +Two scenarios may arise: + +1. If the threshold amount is exceeded, no reduction will be granted. +2. If the threshold amount is not exceeded, a reduction will be applied to the withholding + tax amount, up to a percentage rate determined in Column 2. + +For employees with dependent children, tax reductions apply as follows: + ++-----------------+------------------+----------------+ +| No. of Children | Reduction (%) | Max Revenue | ++=================+==================+================+ +| 1 | 7.5% | 28,245.00 | ++-----------------+------------------+----------------+ +| 2 | 20.0% | 28,245.00 | ++-----------------+------------------+----------------+ +| 3 | 35.0% | 31,070.00 | ++-----------------+------------------+----------------+ +| 4 | 55.0% | 36,720.00 | ++-----------------+------------------+----------------+ +| 5+ | 75.0% | 39,550.00 | ++-----------------+------------------+----------------+ + +Final Tax Calculation +~~~~~~~~~~~~~~~~~~~~~ + +The final withholding tax amount is: + +.. math:: + + Tax = Gross Double Holiday × Applicable Tax Rate - Reduction (if applicable) + +The resulting tax is deducted from the gross double holiday salary to determine the net amount +payable to the employee. + +The calculation considers work duration, absences, variable revenue, and applicable withholding +taxes. Odoo automates these calculations to ensure compliance with Belgian labor laws and tax +regulations. + +Generate a batch in Odoo +------------------------ + +Navigate to :menuselection:`Payroll App --> Payslips --> Batches` and create a new record with valid +dates (here december 2024) + + .. image:: belgium/double-holiday-01.png + :alt: Double Holiday Batch + +Then click the **Generate Payslips** button, select the CP200 salary structure type and the +Thirteen Month salary structure. You can also filter eleligible employees by department and / or +job position. + + .. image:: belgium/double-holiday-02.png + :alt: Double Holiday Batch Wizard + +Once validated, a payslip is generated for each employee. + + .. image:: belgium/double-holiday-03.png + :alt: Double Holiday Payslips + +You can now check the different payslips before validation. Once validated, the PDF files are +generated and posted on employee portals as for classic payslips. + + .. image:: belgium/double-holiday-04.png + :alt: Double Holiday PDF + +Conclusion +---------- + +Double holiday pay is a significant benefit that rewards employees for their work in the previous +year. Understanding how it is calculated helps in better financial planning for the holiday period. + + +.. _belgium_payroll/holiday_pay_recovery: + +Holiday Pay Recovery +==================== + +Incoming + + +.. _belgium_payroll/sick_time_off: + +Sick Time Off and Relapse +========================= + +In Belgium, sick leave is managed according to two main regimes: + + +- **With guaranteed salary**: The employer continues to pay the worker's salary for a specified + period. +- **Without guaranteed salary**: The worker receives benefits from the mutual insurance company + after the guaranteed salary period. + +Sick Leave with Guaranteed Salary +--------------------------------- + +The guaranteed salary is a period during which the employer continues to pay the salary of the +worker who is unable to work. + +**Employees**: The employer pays 100% of the salary during the first full month of incapacity. +After this period, if the incapacity continues, the worker falls under the mutual insurance regime. + +Sick Leave without Guaranteed Salary +------------------------------------ + +After the guaranteed salary period, the ONEM (National Employment Office) or the mutual insurance +company takes over. + +- **Long-term illness**: An incapacity lasting more than 30 days leads to benefits from the mutual + insurance company. +- **Relapse**: If a worker returns to work and then becomes ill again for the same reason within + 14 days, this may be considered a relapse, and the rules for guaranteed salary may be adjusted. + +Management in Odoo +------------------ + +In Odoo, sick leave is automatically managed if the absences are related to the "Sick Time Off" +Work Entry type. + +- **Recording time off**: The employee records their absence through the Time Off management module. +- **Automation of work entries**: If the request is approved, Odoo automatically generates the + corresponding Work Entries. +- **Impact on payroll**: The guaranteed salary is automatically calculated according to the rules + configured based on the worker's status (employee). +- **Compensation after the guaranteed salary**: Once the guaranteed salary period has expired, Odoo + adjusts the Work Entries to reflect the transition to the mutual insurance company. + +Thus, Odoo ensures a smooth and compliant management of sick leave according to Belgian regulations. + +.. _belgium_payroll/dimona: + +DIMONA +====== + +1. What is the Dimona? +---------------------- + +Obligation +~~~~~~~~~~ + +All employers, both in the public and private sectors, are required to electronically communicate +the entry and exit of their personnel to the National Social Security Office (Royal Decree of +November 5, 2002). + +This involves the immediate declaration of employment, also known as DIMONA (Déclaration +Immédiate - Onmiddellijke Aangifte). Its purpose is to immediately notify social security +institutions of the beginning and end of an employment relationship between the worker and the +employer. + +The declarations submitted by the employer and immediately checked by the NSSO feed into a database +called the "personnel file." The employer can access it in a secure environment. There are numerous +search criteria: they can be based on characteristics and combinations of characteristics. + +Failure to comply with this reporting obligation may result in criminal penalties as provided for +in Article 181 of the Social Penal Code. + +Furthermore, in case of omission of declaration, the employer will owe the NSSO a solidarity +contribution. + + +Concept and Terminology +~~~~~~~~~~~~~~~~~~~~~~~ + +Employer-Worker Relationship +**************************** + +The relationship between the "employer" and the "worker" couple. This relationship includes stable +data (employer identification number, worker's national identification social security number +(NISS), start date of the relationship, and optionally end date), which will be maintained even in +case of creation, closure, modification, or cancellation of a period. This relationship begins with +the worker's first engagement and ends at the end of their last occupation. In the personnel file, +"employer-worker" relationships constitute the first level of consultation. The second level +encompasses all Dimona periods; + +Dimona Period +************* + +A period is created with each IN declaration, thus at the beginning of each new occupation. It is +closed by an exit date at the end of each occupation. The employer-worker relationship, on the +other hand, is maintained until the end of the last occupation. Several Dimona periods may or may +not succeed each other within the same employer-worker relationship. + +Any changes generated by an OUT declaration, a modification (UPDATE), or a cancellation (CANCEL) +occur at this second level. + +This Dimona period is identified by a "period identification number". It is assigned to each IN +declaration and constitutes the unique identification key of a period for submitting OUT, +modification, or cancellation declarations. + +Dimona Number +************* + +A unique number assigned by the NSSO to each Dimona declaration (IN, OUT, UPDATE, CANCEL,...). For +an IN declaration, it is the period identification number. When declarations are submitted via file +transfer, multiple Dimona numbers are created: one number per employment relationship included in +the structured message; + +Dimona Characteristics +********************** + +Mandatory data of a Dimona declaration. There are four: the industry sector number, worker type, +sub-entity (reserved for certain public sector employers), and user (for temporary workers). +Characteristics are always linked to a period. In case of different characteristics, multiple +periods can coexist; + +Receipt Confirmation +******************** + +Confirms for web users that the declaration has been received (appears immediately on the screen); + +Receipt Acknowledgment +********************** + +Electronic message for batch senders indicating whether the file is usable for the NSSO. This +"receipt acknowledgment" contains the ticket number (= file identification number) and the file +status: accepted or rejected depending on whether the file is readable or not; + +Notification +************ + +Electronic message with feedback on the processing of the declaration. The notification is the +immediate result of form and content checks. It can be of three types: positive (Dimona accepted), +negative (Dimona rejected), or provisional (only in case of problems with worker identification). +The provisional notification will always be followed by a positive or negative notification. + +For the declaration of students under a student contract (STU), the notification will also contain +a warning if the student is declared for more than 475 hours. If the declaration was made via a +secure channel, the exact number of days of excess will be communicated. + +For the daily declaration of occasional workers in the hospitality industry, the notification will +also contain a warning if the worker is declared for more than 50 days and/or for the employer +quota, if more than 100 days of occasional work have been declared. + +Once you have received this notification, you have five working days to contest the accuracy of the +data mentioned therein. At the end of this period, these data will be considered final. For any +disputes, you must contact the Eranova Contact Center (tel: 02 511 51 51, email: +contactcenter@eranova.fgov.be). + +Note that if the employer is affiliated with an approved social secretariat or a full-service +secretariat, they may not receive any notification. In this case, notifications are electronically +transmitted to the social secretariat or full-service secretariat, even for declarations that the +employer has submitted personally. However, the employer has access to the personnel file, where +they can view all data. + +Channels +~~~~~~~~ + +The Dimona declaration must be submitted in the form of an electronic message via one of the +following channels: + +- web +- personnel file +- file transfer +- web service (REST) +- Dimona Mobile + +The choice of one channel over another has no impact on the declaration. Therefore, you can freely +choose the channel you will use. + +Any declaration modifications can also be made through any of these four channels. The channel +through which the original declaration was submitted plays no role. + +A Dimona declaration cannot be submitted via SMS. + +2. Dimona in Odoo +----------------- + +Manual +~~~~~~ + +In Odoo, when you have the Belgian Payroll Localization installed, as soon as you have a contract +set to the running stage, it creates an activity for the HR responsible that they need to introduce +the Dimona for today with the correct link to the Dimona Platform (the web channel mentioned in +the Channels section of this article). + + .. image:: belgium/dimona-01.png + :alt: Dimona Activity + +Automated +~~~~~~~~~ + +In Odoo, when you have the Belgian Payroll Localization installed, it is also possible to install +the module Belgium - Payroll - Dimona. This module will allow you to perform the 4 main actions +needed in the Dimona (as seen in Section 1 of this article): + +1. Open the dimona +2. Update the dimona +3. Close the dimona +4. Cancel the Dimona + +These actions answer the different use case explained in Section 1. + +Contract and Employee Data +************************** + +Basically, it checks the contract and employee data needed to create, update, close or cancel. + +Error Handling +************** + +If some information is missing or wrongly configured, the system will return errors and you can +take corrective action in order to make sure your Dimona is correctly sent, updated, closed or +canceled. + +Synchronization Status +********************** + +The status of sync and errors are shown in the chatter of the contract. + +Scheduled Action +**************** + +Finally, the cron checks every day, for all contracts that have the status dimona waiting and +triggers the necessary actions to update the dimona status accordingly. + +Technical Configuration (outside Odoo) +************************************** + +Regarding the technical configuration, everything is described in the module information with all +the technical prerequisites. If your customer or partner need further assistance with that, they +need to contact their IT departement or representatives as this is not part of Odoo Configuration. + +Functional Configuration (within Odoo) +************************************** + +From the Odoo configuration point of view, you need to configure the following : + + .. image:: belgium/dimona-02.png + :alt: Dimona Configuration + +- ONSS Company ID = VAT Number of the Company +- Registration Number = 9 digits code received from the NSSO (ONSS - RSZ) +- DMFA Employer Class = 3 digits code received from the NSSO (ONSS - RSZ) +- Expeditor Number ONSS = Not Mandatory (see technical documentation of the module for more + information) +- PEM Certificate, PEM Passphare, KEY file = check the module information for explanation + +.. _belgium_payroll/representation_fees: + +Representation Fees +=================== + +Introduction +------------ + +Representation fees must be **allocated on the payslip** between +**serious and non-serious representation costs**. +By default, the threshold is set at **€283.73**, but it can be adjusted based on what the company +can **legally justify**. + +The representation fees is configured on the employee's contract form. + + .. image:: belgium/representation-fees-02.png + :alt: Representation Fees Configuration + +On the payslip, two or one line are displayed in the case the representation fees amount exceeds +the threshold or not. + + .. image:: belgium/representation-fees-03.png + :alt: Representation Fees Payslip + +Breakdown of the Threshold +-------------------------- + +Only part of the representation costs are pro-rated because certain costs are **fully covered** by +the company. These fixed costs include: + ++ **€148.73** (Tax, since 2021 - coronavirus) ++ **€30** (Internet) ++ **€25** (Phone) ++ **€80** (Car management fees) + += **Total: €283.73** + +The **serious portion** of the representation costs is **not prorated**, while the +**non-serious portion** is prorated based on working time. + +By navigating to :menuselection:`Payroll App --> Configuration --> Salary --> Rule Parameters`, +search the "CP200: Representation Fees Threshold" record, and adapt the current value or introduce +a new one from a given date. + + .. image:: belgium/representation-fees-01.png + :alt: Representation Fees Threshold + +Calculation of Representation Fees +---------------------------------- + +1. Conditions for Payment +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Representation fees are only granted if: + +- The employee **receives a basic salary**, and +- The employee has **worked at least part of the time**, unless a **salary simulation** is in + progress. + +If the employee is on **full leave** (without any working days), they are **not eligible** for +representation fees. + +2. Determining the Work Time Rate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The number of **working days per week** is extracted from the employee's contract. +- If the employee has periods of **incapacity for work** (e.g., illness), the calculation adjusts + the **work time rate** accordingly: + + - The total **incapacity hours** are determined. + - If the company follows a **biweekly schedule**, the incapacity hours are divided by **two**. + - The incapacity **rate** is calculated as: + + .. math:: + incapacity\_rate = 1 - \frac{incapacity\_hours}{total\_weekly\_hours} + + - The **final work time rate** is then adjusted by multiplying it with the incapacity rate. + +3. Applying the Threshold and Pro-Rating Rules +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- The **default threshold (€283.73)** is applied unless adjusted by the company. +- If the employee has **worked a full-time schedule**, they receive the **full representation fees** + without reduction. +- If the employee works **part-time** (contractual or due to time credit), only the + **non-serious portion** of the fees is prorated. + + - The prorated formula for non-serious expenses is: + + .. math:: + adjusted\_amount = threshold + (total\_fees - threshold) \times \frac{work\_time\_rate}{100} + +- If the employee has **missing workdays**, the final amount is further adjusted: + + .. math:: + daily\_reduction = \frac{(total\_amount - threshold) \times 3}{13 \times days\_per\_week} + final\_amount = max(0, total\_amount - daily\_reduction \times missing\_days) + +4. Final Calculation +~~~~~~~~~~~~~~~~~~~~ + +- If the employee meets all conditions, the final representation fees amount is + **rounded to two decimal places** for payroll purposes. +- Employees working a full schedule receive **full reimbursement**, while those working + **reduced hours** have the **non-serious portion prorated** accordingly. + +Conclusion +---------- + +This calculation ensures **fair allocation** of representation fees by distinguishing between +**fixed serious costs** and **prorated non-serious costs**. The company can adjust the +**threshold (€283.73 by default)** based on **justifiable business expenses**. + +Employees working **full-time** receive their full representation fees, while those working +**part-time or with absences** only receive a **pro-rated portion** of the non-serious fees. diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-01.png new file mode 100644 index 000000000..77f88157f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-02.png new file mode 100644 index 000000000..11da86a3c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-03.png new file mode 100644 index 000000000..4f3daa383 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-04.png new file mode 100644 index 000000000..699f7619f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-05.png new file mode 100644 index 000000000..2c4d11985 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-06.png new file mode 100644 index 000000000..89a836870 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-07.png new file mode 100644 index 000000000..190f21f95 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/273s-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/273s-08.png new file mode 100644 index 000000000..e06139cee Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/273s-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-01.png new file mode 100644 index 000000000..fea526f0d Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-02.png new file mode 100644 index 000000000..61444d06c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-03.png new file mode 100644 index 000000000..3fa16911a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-04.png new file mode 100644 index 000000000..1194aaeab Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-05.png new file mode 100644 index 000000000..dba676580 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-06.png new file mode 100644 index 000000000..434e88555 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-07.png new file mode 100644 index 000000000..2bc6a04e1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/274xx-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-08.png new file mode 100644 index 000000000..b4f4e45e5 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/274xx-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-01.png new file mode 100644 index 000000000..4131a89b4 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-02.png new file mode 100644 index 000000000..2c87c4769 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-03.png new file mode 100644 index 000000000..e71edd726 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-04.png new file mode 100644 index 000000000..1c7cde81a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-05.png new file mode 100644 index 000000000..4064bbd12 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-06.png new file mode 100644 index 000000000..b3aabb71a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-07.png new file mode 100644 index 000000000..7f110dde8 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28110-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/28110-08.png new file mode 100644 index 000000000..ade305d38 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28110-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-01.png new file mode 100644 index 000000000..d13bfefb0 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-02.png new file mode 100644 index 000000000..bfc1a4abd Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-03.png new file mode 100644 index 000000000..5fc80087b Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-04.png new file mode 100644 index 000000000..1c7cde81a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-05.png new file mode 100644 index 000000000..6fd9f9b3f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-06.png new file mode 100644 index 000000000..b3aabb71a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-07.png new file mode 100644 index 000000000..7f110dde8 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/28145-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/28145-08.png new file mode 100644 index 000000000..36154e288 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/28145-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-01.png new file mode 100644 index 000000000..e7aae944e Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-02.png new file mode 100644 index 000000000..af2755004 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-03.png new file mode 100644 index 000000000..e2c886a19 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-04.png new file mode 100644 index 000000000..9a4f0eb1b Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-05.png new file mode 100644 index 000000000..510354368 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/december-pay-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-01.png new file mode 100644 index 000000000..d96619878 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-02.png new file mode 100644 index 000000000..b3abb5134 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-03.png new file mode 100644 index 000000000..3abdc7e29 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-04.png new file mode 100644 index 000000000..4badc047d Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-05.png new file mode 100644 index 000000000..171613198 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-06.png new file mode 100644 index 000000000..2655449ef Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-07.png new file mode 100644 index 000000000..4f64431a7 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-08.png new file mode 100644 index 000000000..5a7794961 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-09.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-09.png new file mode 100644 index 000000000..a847c31ce Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-attests-09.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-01.png new file mode 100644 index 000000000..632be0e5e Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-02.png new file mode 100644 index 000000000..af946e460 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-03.png new file mode 100644 index 000000000..bdeaf8b53 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-04.png new file mode 100644 index 000000000..26c8be540 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-05.png new file mode 100644 index 000000000..afbe9b939 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/departure-notice-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dimona-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/dimona-01.png new file mode 100644 index 000000000..138265881 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dimona-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dimona-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/dimona-02.png new file mode 100644 index 000000000..37bdd49bc Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dimona-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-01.png new file mode 100644 index 000000000..919363175 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-02.png new file mode 100644 index 000000000..64a5fd0f1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-03.png new file mode 100644 index 000000000..d006a03c5 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-04.png new file mode 100644 index 000000000..a0741bc0c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-05.png new file mode 100644 index 000000000..25176d737 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-06.png new file mode 100644 index 000000000..6b5431d8c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-07.png new file mode 100644 index 000000000..f9b560f36 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-08.png new file mode 100644 index 000000000..c8e6a973c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-09.png b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-09.png new file mode 100644 index 000000000..fbf1f7c9a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/dmfa-09.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-01.png new file mode 100644 index 000000000..fe0e1e875 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-02.png new file mode 100644 index 000000000..9e4e8e221 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-03.png new file mode 100644 index 000000000..cc133d33f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-04.png new file mode 100644 index 000000000..fff79e43b Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/double-holiday-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/eco-vouchers-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/eco-vouchers-01.png new file mode 100644 index 000000000..c4ad7598f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/eco-vouchers-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-01.png new file mode 100644 index 000000000..4e349a847 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-02.png new file mode 100644 index 000000000..6ad34d840 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-03.png new file mode 100644 index 000000000..20406d8c1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-04.png new file mode 100644 index 000000000..5a144c671 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/end-of-year-bonus-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-01.png new file mode 100644 index 000000000..b7ff4cd1c Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-02.png new file mode 100644 index 000000000..b180d75a8 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-03.png new file mode 100644 index 000000000..9a744405d Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-04.png new file mode 100644 index 000000000..29a5771ac Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-05.png new file mode 100644 index 000000000..5b863566b Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-06.png new file mode 100644 index 000000000..58ae0f353 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-07.png new file mode 100644 index 000000000..1c7cde81a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/individual-account-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-01.png new file mode 100644 index 000000000..c0e0840b1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-02.png new file mode 100644 index 000000000..b6eac79d8 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/paid-time-off-allocation-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-01.png new file mode 100644 index 000000000..9319cd3d5 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-02.png new file mode 100644 index 000000000..8bb0dbc13 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-03.png new file mode 100644 index 000000000..0151f6a23 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/payslip-explained-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-01.png new file mode 100644 index 000000000..9b1d4e1b3 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-02.png new file mode 100644 index 000000000..0452906c8 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-03.png new file mode 100644 index 000000000..4fe98ea06 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/representation-fees-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-01.png new file mode 100644 index 000000000..0ef64401e Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-02.png new file mode 100644 index 000000000..042af27a1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-03.png new file mode 100644 index 000000000..d223d939a Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-04.png new file mode 100644 index 000000000..1aff5d203 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-balance-sheet-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-01.png new file mode 100644 index 000000000..537f37cf6 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-02.png new file mode 100644 index 000000000..73a0f79e6 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-03.png new file mode 100644 index 000000000..f29d38f25 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-04.png new file mode 100644 index 000000000..d5b14bfce Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/social-security-certificate-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-01.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-01.png new file mode 100644 index 000000000..bdd3f0988 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-01.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-02.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-02.png new file mode 100644 index 000000000..072551ba1 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-02.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-03.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-03.png new file mode 100644 index 000000000..a279a1540 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-03.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-04.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-04.png new file mode 100644 index 000000000..11ca49390 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-04.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-05.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-05.png new file mode 100644 index 000000000..9fa5aac61 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-05.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-06.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-06.png new file mode 100644 index 000000000..5f83afd63 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-06.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-07.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-07.png new file mode 100644 index 000000000..4e941ef48 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-07.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-08.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-08.png new file mode 100644 index 000000000..4941a555f Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-08.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-09.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-09.png new file mode 100644 index 000000000..f3003c657 Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-09.png differ diff --git a/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-10.png b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-10.png new file mode 100644 index 000000000..ebfa58ffe Binary files /dev/null and b/content/applications/hr/payroll/payroll_localizations/belgium/work-entries-10.png differ