TIP: You can type at any time to perform a new search.
Payroll Sheet Importer
account_payroll_sheet_import · OCA/account-financial-tools
- Repository
- OCA/account-financial-tools · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Accounting
- Folder size
- 0.11 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/account-financial-tools
- Last tracking update
- 2026-08-17 18:05:57
- Authors
- Odoo Community Association (OCA), APSL-Nagarro
- Maintainers
- Odoo Community Association (OCA), APSL-Nagarro
- Committers
- Weblate, OCA-git-bot, oca-ci, BernatObrador
- Odoo dependencies
- Python dependencies
- openpyxl>=3.1.0, pandas
- System dependencies
- None
- Required by
- None
- Description
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.
Code Analysis ⓘ
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_missing_partner_wizard |
missing.partner.wizard.form | missing.partner.wizard | form | New |
view_payroll_import_form |
payroll.import.wizard.form | payroll.import.wizard | form | New |
view_payroll_mapping_form |
payroll.import.mapping.form | payroll.import.mapping | form | New |
view_payroll_mapping_line_tree |
payroll.import.mapping.line.tree | payroll.import.mapping.line | list | New |
view_payroll_mapping_tree |
payroll.import.mapping.tree | payroll.import.mapping | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (1)
-
missing_idsTextargs: 'Missing IDs'
No public methods.
New fields (5)
-
company_idMany2one → res.companydefault=<expr>required=Truestring='Company' args: 'res.company' -
id_columnCharhelp='Name of the column in the Excel file that contains\n VAT/ID/Pasport numbers to map with the contact.\n It uses the identification_id or passport_id field of the employee.'required=True args: 'ID Column' -
journal_idMany2one → account.journalrequired=Truestring='Journal' args: 'account.journal' -
mapping_line_idsMany2many → payroll.import.mapping.linestring='Column Mappings' args: 'payroll.import.mapping.line' -
nameCharrequired=True args: 'Mapping Name'
No public methods.
New fields (4)
-
account_idMany2one → account.accountrequired=Truestring='Account' args: 'account.account' -
column_nameCharrequired=True args: 'Excel Column Name' -
company_idMany2one → res.companydefault=<expr>required=Truestring='Company' args: 'res.company' -
move_typeSelectionrequired=True args: [('debit', 'Debit'), ('credit', 'Credit')]
No public methods.
New fields (3)
-
fileBinaryrequired=True args: 'Excel File' -
filenameChar -
mapping_idMany2one → payroll.import.mappingrequired=Truestring='Column Mapping' args: 'payroll.import.mapping'
-
action_import_payroll(self) -
build_move_lines(self, df, account_map) -
check_columns(self, df, account_map) -
get_account_map(self)Builds account mapping filtered by company -
get_partner(self, vat)Searches for employee by VAT and return the asociated partner. -
show_mismatch_error(self, move_lines, partner, vat, total_debit, total_credit)
Loading…
Loading…