Skip to content
Back to catalog
AppAccounting & taxNew

Aspel NOI payroll import

The payroll you already filed lands in Odoo as a journal entry

Reads the Aspel NOI payroll report from Excel and turns it into a draft journal entry in Odoo, with accounts mapped per concept and department. Payroll stays where it is calculated; the accounting stops being typed by hand.

Compatibility
Odoo 19Odoo 18Odoo 17

How you get it

This is one of the few that does not fit Odoo Online: it ships its own backend JavaScript, and Studio will not let you upload it. It is delivered on Odoo.sh or your own server.

Install it today

Odoo.sh or your own server

You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.

Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_importacion_de_nomina_aspel_noi /mnt/extra-addons/

# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init

# 3 · instala desde Apps
#     busca "Aspel NOI payroll import"

What it solves

The problem

Plenty of companies run payroll in Aspel NOI and keep their books in Odoo. Moving the payroll calculation is not on the table — it works, the accountant knows it, and tax filing is already solved — so every period somebody opens the NOI report and types the journal entry into Odoo by hand.

That is dozens of lines per period: every earning, every deduction, every department. It gets typed wrong, it gets balanced by hand, and when somebody asks where a figure came from, you go back to the spreadsheet.

How it works

You upload the NOI payroll report exactly as it is exported, as an Excel file. The module finds the header row on its own and reads the report's own data — company, tax ID, payroll number and issue date — without you pointing at anything.

Then it splits the columns: employee data on one side — code, name, social security and tax IDs, department, position, daily wage, contribution base, days worked and absences — and payroll concepts on the other. It recognises NOI's taxable / exempt breakdown, tells earnings from deductions by where they sit relative to the taxable total, and skips the report's own total columns so nothing is counted twice. A concept that appears twice under the same name — housing or meals, which are both an earning and a deduction — is treated as two separate concepts, which is what they are.

What you get is an import you can review before touching the books: totals per employee, the concept-by-concept detail, and an analytic view of the lines grouped by department and concept.

Accounts are configured once: each combination of concept + type + department points to an account. A mapping with no department applies to all of them, and one with a department wins over the general rule, so you only enter the exceptions. Before anything is generated, a validation button tells you exactly which combinations are still missing an account.

The entry is generated grouped by concept and area: earnings on the debit side, deductions on the credit side, and the net to the payable account you choose. It comes out as a draft, in the journal and on the date you set, for the accountant to review and post.

What it does not do

It does not calculate payroll or file it: that stays in NOI. It does not create employees in Odoo or link them to existing ones — this is an accounting entry, not an HR record. And it never posts the entry on its own: it always stays a draft.

What changes

Payroll close goes from typing dozens of lines to uploading a file and reviewing it. The account setup is done once and serves every period after that, and every figure in the entry can be traced back to the employees behind it.

What's included

  • Upload the Aspel NOI Excel report and let the module find the header row itself
  • Reads company, tax ID, payroll number and issue date straight from the report
  • Separates earnings from deductions and keeps each concept's taxable / exempt breakdown
  • Skips the report's own total columns so amounts are never counted twice
  • Stores employee data: code, social security and tax IDs, department, position, contribution base, days worked and absences
  • Maps an account per concept, type and department, with a general rule and per-area exceptions
  • Validates before posting and lists every combination still missing an account
  • Generates the entry grouped by concept and area, with the net going to the payable account you choose
  • Leaves the entry as a draft for the accountant to review and post
  • Lets you re-parse the file or redo the entry as long as it has not been posted
  • Groups lines by department and concept to review payroll cost before closing

Requirements

  • Accounting module active: the entry is created against an existing journal and chart of accounts
  • Odoo.sh or your own server. This development cannot be deployed on Odoo Online
  • The Aspel NOI payroll report exported to Excel, with its headers untouched
  • A user with accounting manager rights to configure the accounts per concept