Skip to content

Doc events

Document document lifecycle hooks so engineers know what runs on validate, save, or trash.

leekimerp/leekimerp/hooks.pydoc_events

DocTypeEventHandler(s)
Sales Invoiceon_updateleekimerp.scripts.sales_invoice.before_submit_sales_invoice
Billingafter_insertleekimerp.tasks.handle_billing
Applicationon_updateleekimerp.lee_kim_alliance_erp.doctype.application.on_update.generate_pdfs.generate_pdfs
Employeevalidatevalidate_voluntary_contribution, calculate_citizenship_year, create_salary_structure_v2, create_salary_structure_assignment_v2, create_own_holiday_list
Employeeafter_insertcreate_salary_structure_assignment_v2
Salary Slipvalidatesetup_payment_days → … → append_salary_slip (see Payroll)
Payroll Entrybefore_validateswitch_active_salary_structure
Payroll Entryvalidatecreate_payroll_entry_name
Payroll Entryon_trashon_trash
Salary Componentvalidateget_abbreviated_name, update_accounts_table
Accountafter_insertsetup_salary_component
Companyafter_insert / after_save / on_trashsetup_company, update_company, delete_company
Mode of Paymentbefore_inserthook_events.mode_of_payment.autonaming
Userbefore_inserthook_events.user.autonaming
  • AGM on_updateafter_agm_update_generate_auto_email — commented; see Known issues
  • Auto Email Configuration on_update — commented

Handlers in leekimerp.scripts.*, leekimerp.hook_methods, leekimerp.tasks, etc.

Order of validate hooks matters for Salary Slip and Employee; change only with regression tests on payroll.