AAuditPro Suite· Jobs manual
Jobs manual Template anatomy

The 5 layers

1 · job_templates code · name · description · skills · deliverables · quality_criteria · folder_structure JSON · is_active · requires_workpapers · audit_template 2 · template_tasks (8+ rows per template) phase (planning/fieldwork/reporting/review/admin) · sequence · task_name · description · est_hours · skill_required · parent_task_id (tree) 3 · template_task_checklist_items (10-30 per task) item_text · sequence · reference_standard (ISA/IFRS/Oman) · is_optional · note 4 · folder_structure JSON (materialised on create) {CLIENT}/01-Engagement/02-TB/03-Workpapers/04-FS-pack/05-Audit-Report/06-Completion/07-Audit-Trail/... 5 · operational metadata skills_required (capability matrix lookup) · deliverables[] · quality_criteria[] · default duration · estimated total hours Each layer is a separate table — clone deep-copies all five with parent-relinking

Layer 1 — the template row itself

One row in job_templates. Identity-only fields. Drives the picker on the create-job wizard.

1code
UNIQUE · e.g. TPL-AA

The short identifier. Used in URLs, exports, sidebar.

2name
e.g. "Annual Audit"

Display name. Shown to users.

3description
Long text

Why use this template. Drives the description-autocomplete on invoice forms (M11).

4skills_required
JSON array of skill codes

Used by the team-allocation step to surface qualified employees.

5deliverables
JSON array

Final outputs the client gets. Drives the deliverable checklist on the close screen.

6quality_criteria
JSON array

Pass/fail criteria. Manager checks each before status flips to completed.

7folder_structure
JSON tree

Materialised on create. Tokens like {CLIENT}, {FY} auto-replaced.

8requires_workpapers
TINYINT(1)

True for audit + review templates. Switches on the M19 Workpapers tab + auto-seed of 12 standard workpapers.

9is_active
TINYINT(1)

Inactive templates don't appear in the wizard but stay readable for historic jobs.

Layer 2 — the 5-phase task tree

Each template ships a tree of tasks grouped by phase. TPL-AA Annual Audit ships with 8 top-level tasks across all 5 phases. TPL-VAT Quarterly VAT ships with 4. The phase order is fixed; tasks within a phase have a sequence number.

#PhaseTypical contentOrder
1planningEngagement letter, independence, scope, budget, teamFirst
2fieldworkProcedures, evidence gathering, sampling, AJE draftsBulk
3reportingDraft FS, draft report, draft management letterAfter fieldwork
4reviewManager review, partner review, EQCR (if applicable)Before issuance
5adminIssue, lock, archive, billingLast

Tasks can be nested via parent_task_id — useful when a phase has logical groupings (e.g. fieldwork → "Cash & Bank" → 4 sub-tasks).

Layer 3 — the checklist items (the regulatory backbone)

Each task has 10–30 ordered checklist items. Each item is one specific procedure, with a reference to the standard that mandates it. This is what makes AuditPro different from a generic task tracker.

#Item textReferenceOptional?
1Obtain signed engagement letterISA 210No
2Confirm independence per Code of EthicsIFAC §290No
3Document understanding of entityISA 315No
4Compute overall materiality (4 bases)ISA 320No
5Plan use of internal audit (if any)ISA 610Yes

The reference_standard field points to the firm-wide reference library (see [reference-library](../../README.md)). Each row in reference_standards has the full description + authoritative URL. So when an auditor hovers over "ISA 320" they get the actual standard text.

Layer 4 — folder structure JSON

A nested JSON describing the physical folder layout. Materialised on job-create at storage/jobs/{id}/ with tokens replaced.

{CLIENT}-{FY}-Audit/
├── 01-Engagement/
│   ├── Engagement-letter.pdf
│   ├── Independence-confirmations/
│   └── Acceptance-memo.pdf
├── 02-Trial-Balance/
├── 03-Workpapers/
│   ├── A-100-Planning/
│   ├── B-100-Cash/
│   ├── C-100-AR/
│   └── ... (12 folders)
├── 04-FS-pack/
├── 05-Audit-Report/
├── 06-Completion/
└── 07-Audit-Trail/

Tokens supported: {CLIENT}, {CLIENT_CODE}, {FY}, {PROJECT}, {JOB_NUMBER}, {YEAR}, {QUARTER}, {MONTH}. Resolved at job-create time; folder paths become permanent.

Layer 5 — operational metadata

The metadata fields drive the operational layer:

Cloning a template

Click Clone on any template → deep-copy: the row, every task, every checklist item, every parent-relink, the JSON structure. The clone starts inactive with auto-suffix -V2 / -V3. Edit it, mark active, and the wizard now shows both. Useful when:

Try this

Open Content Library → Engagement Templates → TPL-AA Annual Audit → Tasks tab. Click any task → see the 10-30 checklist items, each with their ISA reference. This is the audit-evidence trail the system gives you for free.

Watch out

Editing a template doesn't update existing jobs that were created from it — the job has its own copy of tasks + checklist. Edits affect only NEW jobs. To update an existing job's checklist, use the per-job task-edit screen instead.

Tip — CSV import

Building a brand-new template from scratch is slow. Use Templates → Import CSV — upload a flat CSV with task_ref + phase + checklist_text + reference_standard, the wizard validates + commits in 3 passes (tasks → parent relinks → items). 200 checklist items in 30 seconds.