Skip to main content

Import payroll from sheet files and generate journal entries

Project description

Odoo Community Association

Payroll Sheet Importer

Beta License: AGPL-3 OCA/account-financial-tools Translate me on Weblate Try me on Runboat

This module allows importing payroll data from Excel (.xlsx) files into accounting journal entries in Odoo. It streamlines integration between external HR/payroll systems and Odoo’s accounting module.

Main Features:

  • Map Excel columns to specific accounting accounts.

  • Detect and report missing employees based on VAT/ID/Passport numbers.

  • Associate imported data with a specific accounting journal.

  • Support for multiple mapping configurations per company.

This module is ideal for companies that receive externally processed payroll in Excel format and need a semi-automated way to post it into Odoo’s accounting system.

Table of contents

Usage

Excel File Requirements

  • File must be in .xlsx format.

  • Must contain a column with employee identifiers (e.g., VAT/ID/Passport).

  • Data columns must match those defined in the selected mapping.

  • Format has to be:

VAT/ID/Passport

Base Salary

Extra Hours

Other Concepts..

1

2000

500

2

1800

250

Employee Requirements

In order to correctly match payroll entries with existing employees (and their linked partners), each employee must have a unique identifier set in one of the following fields:

  • Identification Nº (identification_id)

  • Passport (passport_id)

These fields must match the values provided in the corresponding Excel column. If no matching employee is found, the system will list the missing identifiers, and you will need to create the missing records or update the identifiers accordingly.

Creating a Column Mapping

  1. Navigate to Accounting > Configuration > Payroll Mapping.

  2. Create a new mapping and configure:

    • Mapping name.

    • Target journal.

    • Name of the column containing employee VAT/ID/Pasport.

    • Mapping lines: Excel column → account → move type (debit/credit). Ex: “NET SALARY”, 230000, credit

  3. Save the mapping for future use.

Import

  1. Go to Accounting > Accounting > Payroll Import.

  2. Upload an Excel file containing payroll data.

  3. Choose a previously configured column mapping.

  4. The system will attempt to match employees using VAT/ID/Passport numbers:

  5. After validation, click Import to generate journal entries.

  6. If employees are missing, a warning will show the unmatched identifiers.

Known issues / Roadmap

Planned Features

  • Possibility to import summarized payroll.

  • Compatiblity with other sheet file types.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors
  • APSL-Nagarro

Contributors
Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

BernatObrador

This module is part of the OCA/account-financial-tools project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_account_payroll_sheet_import-19.0.1.0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_account_payroll_sheet_import-19.0.1.0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 33568119e76466f70e925e4fd71484af6a2ed8b9f5ff75a73a96fb2ddad26d4d
MD5 4119f54f6291eaf9ea1aef26f622b86e
BLAKE2b-256 75197c2c78b4df30f0eb357bc19ddcc710dcd4f30010e5eb6ed324339e6688cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page