If we want to extend the capabilities of FrontAccounting, the recommended way is to make an extension for it. Quick hacks and hammering out such extensions will need editing the core files of FA to start with before assimilating them into an extension for re-use and enable mitigating upgradations using standard operating procedures. This page documents the initial part of extension creation, viz., editing core files to add columns in standard FA tables, forms and reports.

Files Affected

  • The database model that inserts, (deletes,) updates records will generally reside in the following folders:
    • includes/db
    • <application>/includes/db/ (application is sales, purchasing, reporting, etc)
    • modules/<module_name>/includes/db/
  • The user interface form that acquires the user inputs are generally in these files:
    • includes/ui/*
    • <application>/includes/ui/* (application is sales, purchasing, reporting, etc)
    • modules/<module_name>/includes/ui/*
  • The processing routing controller logic that receives form input is in the following files:
    • <application>/*.php (application is sales, purchasing, reporting, etc)
    • modules/<module_name>/*.php
  • The output display
    • <application>/view/*.php (application is sales, purchasing, reporting, etc)
    • modules/<module_name>/view/*.php
  • Reporting files
    • Filter parameters for reports are in reporting/reports_main.php
    • The actual reports (XXX is the report number) and their specific functions reside in
      • reporting/repXXX.php
      • company/#/reporting/repXXX.php (report overrides and dedicated ones)
      • modules/<module_name>/reporting/repXXX.php
    • UI Control Input function groups used in the report files are in function get_ctrl() defined in reporting/includes/