Bulgarian HR Payroll Classifications

l10n_bg_payroll_classifications
REPOSITORY
REPOSITORYOCA/l10n-bulgaria
GIT
GIThttps://github.com/OCA/l10n-bulgaria.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-bulgaria/tree/18.0/l10n_bg_payroll_classifications
VERSION
VERSION 6.0.0
CATEGORY
CATEGORYHuman Resources/Localization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Rosen Vladimirov
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Rosen Vladimirov
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, rosenvladimirov
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-bulgaria
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-bulgaria:
    - l10n_bg_config
    - l10n_bg_tariff_code
odoo/odoo:
    - base
    - hr
    - base_setup
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
    - account
    - onboarding
    - product
    - uom
    - analytic
    - base_vat
    - l10n_bg
    - l10n_bg_ledger
    - stock_delivery
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xmltodict
requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Bulgarian localization for HR payroll with NKPD and Economic Activity classifications.

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
view_bg_mod_economic_activity_form bg.hr.payroll.economic.activity.form bg.hr.payroll.economic.activity form New
view_bg_mod_economic_activity_kanban bg.hr.payroll.economic.activity.kanban bg.hr.payroll.economic.activity kanban New
view_bg_mod_economic_activity_list bg.hr.payroll.economic.activity.list bg.hr.payroll.economic.activity list New
view_bg_mod_economic_activity_search bg.hr.payroll.economic.activity.search bg.hr.payroll.economic.activity search New
view_bg_ncop_classification_form bg.hr.payroll.ncop.classification.form bg.hr.payroll.ncop.classification form New
view_bg_ncop_classification_kanban bg.hr.payroll.ncop.classification.kanban bg.hr.payroll.ncop.classification kanban New
view_bg_ncop_classification_list bg.hr.payroll.ncop.classification.list bg.hr.payroll.ncop.classification list New
view_bg_ncop_classification_search bg.hr.payroll.ncop.classification.search bg.hr.payroll.ncop.classification search New
view_hr_job_form_bg_ncop hr.job.form.bg.ncop hr.job field Inherits hr.view_hr_job_form
view_hr_job_tree_bg_ncop hr.job.list.bg.ncop hr.job field Inherits hr.view_hr_job_tree
view_job_filter_bg_ncop hr.job.search.bg.ncop hr.job field Inherits hr.view_job_filter
Models touched (3)

New fields (12)
  • child_ids One2many → bg.hr.payroll.economic.activity
    string='Child Activities' args: 'bg.hr.payroll.economic.activity', 'parent_id'
  • date_from Date
    default=fields.Date.today required=True string='Valid From'
  • date_to Date
    string='Valid To'
  • mod_clerk Float
    default=0.0 help='Minimum insurance income for clerks' string='MOD - Clerks'
  • mod_elementary Float
    default=0.0 help='Minimum insurance income for elementary occupations' string='MOD - Elementary Occupations'
  • mod_manager Float
    default=0.0 help='Minimum insurance income for managers' string='MOD - Managers'
  • mod_operator Float
    default=0.0 help='Minimum insurance income for machine operators' string='MOD - Machine Operators'
  • mod_service Float
    default=0.0 help='Minimum insurance income for service workers' string='MOD - Service Workers'
  • mod_skilled Float
    default=0.0 help='Minimum insurance income for skilled workers' string='MOD - Skilled Workers'
  • mod_specialist Float
    default=0.0 help='Minimum insurance income for specialists' string='MOD - Specialists'
  • mod_technician Float
    default=0.0 help='Minimum insurance income for technicians' string='MOD - Technicians'
  • parent_id Many2one → bg.hr.payroll.economic.activity
    string='Parent Activity' args: 'bg.hr.payroll.economic.activity'
Public methods (2)
  • get_effective_mod(self, qualification_group)
    Get effective MOD for a given qualification group
  • search_read(self, domain=None, fields=None, offset=0, limit=None, order=None)
    @api.model
    Override to improve performance when loading large datasets

New fields (13)
  • active Boolean
    default=True
  • child_ids One2many → bg.hr.payroll.ncop.classification
    string='Child Positions' args: 'bg.hr.payroll.ncop.classification', 'parent_id'
  • code Char
    help='8-digit NCOP code' index=True required=True string='NCOP Code'
  • date_from Date
    default=fields.Date.today string='Valid From'
  • date_to Date
    string='Valid To'
  • education_level Selection
    help='Minimum required education level for this position' args: [('none', 'No formal education'), ('primary', 'Primary education'), ('secondary', 'Secondary education'), ('higher', 'Higher education')]
  • experience_years Integer
    default=0 string='Required Experience (years)'
  • level Selection
    help='Hierarchical level in NCOP structure' required=True args: [('major_group', 'Major Group'), ('sub_major_group', 'Sub-Major Group'), ('minor_group', 'Minor Group'), ('unit_group', 'Unit Group'), ('occupation', 'Occupation')]
  • name Char
    required=True string='Position Name' translate=True
  • parent_id Many2one → bg.hr.payroll.ncop.classification
    string='Parent Position' args: 'bg.hr.payroll.ncop.classification'
  • qualification_group Selection
    help='Qualification group for MOD calculation based on NCOP class' args: [('military', 'Military'), ('manager', 'Managers'), ('specialist', 'Specialists'), ('technician', 'Technicians'), ('clerk', 'Clerks'), ('service', 'Service Workers'), ('skilled', 'Skilled Workers'), ('operator', 'Machine Operators'), ('elementary', 'Elementary Occupations')]
  • skill_level Integer
    help='Skill level (1-4) according to NCOP classification'
  • skills_requirements Text
Public methods (4)
  • get_hierarchy_path(self)
    Get a full hierarchical path from class to this position
  • get_positions_by_qualification_group(self, qualification_group)
    @api.model
    Get all positions for a specific qualification group
  • get_qualification_mapping(self)
    Get qualification group for MOD calculation
  • search_positions_by_name(self, name_part)
    @api.model
    Search positions by partial name match

New fields (1)
  • l10n_bg_ncop_position_id Many2one → bg.hr.payroll.ncop.classification
    help='NCOP Position' ondelete='restrict' string='NCOP Position' args: 'bg.hr.payroll.ncop.classification'
Public methods (0)

No public methods.