cli/assets/skills/conversion/SKILL.md
Use this skill when migrating accounting data into Jaz — importing from Xero, QuickBooks, Sage, MYOB, or Excel exports. Covers the full conversion pipeline: analyzing source files, mapping Chart of Accounts, contacts, tax profiles, and items, creating clearing accounts, running TTB (trial transaction balance), and verifying TB. Also use when the user mentions data migration, conversion, import, or switching accounting software — whenever a customer's prior system is Xero, QuickBooks, Sage, MYOB, or an Excel-based ledger.
npx skillsauth add teamtinvio/jaz-ai jaz-conversionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are performing an accounting data conversion — migrating a customer's financial data from their previous accounting software (Xero, QuickBooks, Sage, MYOB, or Excel-based systems) into Jaz.
Jaz-native, not generic. The clearing-account pattern, the CoA-bulk-upsert all-or-nothing semantics, the
currencyCode-string-silently-ignored-on-invoices gotcha, thebulk_upsert_invoicesPARTIAL_SUCCESS path — every rule in this skill is an opinion shaped by Jaz's specific API behavior, not by generic migration theory. Source-system mapping (Xero, QB, Sage) is included only as input parsing; everything downstream is Jaz-shaped.
This skill provides Jaz-contextual conversion domain knowledge. For API details (field names, endpoints, gotchas), load the jaz-api skill alongside this one.
Jaz also has a guided Data Transfer flow available in Settings (Xero, QuickBooks, Sage, MYOB).
All types use the same pipeline — only the scope (which entity types) differs.
"conversionType": "config"coa or tb file (no AR/AP needed)references/option2-quick.mdreferences/option1-full.mdEvery conversion follows this pipeline. Steps 1-3 use the parser + AI. Steps 4-8 use the jaz-api skill.
Receive customer files. Organize by type. Expect messy Excel files with grouped sections, merged cells, subtotals, and inconsistent formatting.
Common file types:
See references/file-analysis.md for parsing guidance and references/file-types.md for the comprehensive file type catalog (22 types across all source systems).
Pass A — Raw dump: Run the parser (parseFile()) to extract all cells + merge metadata from Excel files. The parser handles merged cell propagation automatically.
Pass B — AI structure detection: Read the raw JSON dump and identify:
Pass C — AI classification: For each identified data table:
See references/mapping-rules.md for detailed rules.
For each entity type, map source data → Jaz entities:
Assign confidence scores (high/medium/low) to each mapping. Flag low-confidence for human review.
Convert mapped data into Jaz API payloads. Different per conversion type:
references/option2-quick.md — clearing account patternreferences/option1-full.md — detailed transaction creationBefore any API calls, present a summary for human review:
Do NOT project a Trial Balance. TB comes from the ledger after execution. Projecting it is unreliable and misleading.
Create records via Jaz API. Follow the dependency order:
POST /api/v1/chart-of-accounts/bulk-upsertRollback: If Phase 2 or 3 fails, all Phase 2 resources are automatically rolled back.
After execution, pull the Trial Balance from Jaz and compare against the source TB.
See references/verification.md for the full checklist format.
If TB doesn't match, identify the discrepancy:
POST /journals. Lock date is set separately via CoA API.POST /api/v1/transfer-fixed-assets — not the "new asset" endpoint. Preserves accumulated depreciation.currency: { sourceCurrency, exchangeRate } on every FX transaction. Prior UGL is in the TTB; explicit rate ensures zero UGL in Jaz. See references/edge-cases.md.jaz-api skill alongside this one — this skill has conversion domain knowledge, jaz-api has API field names, endpoints, and gotchas.references/mapping-rules.md.references/option1-full.md.tools
Use this skill whenever an accounting practitioner is doing client work in Jaz — closing the books, filing GST, year-end statutory, onboarding a new client. Covers the practitioner workspace at ~/Documents/Jaz Practice (clients/<slug>/CLIENT.md and engagements/<slug>/ENGAGEMENT.md), engagement routing (monthly-close | quarterly-gst | annual-statutory | onboarding | adhoc), and how the agent loads client context before invoking jaz-jobs blueprints, jaz-recipes recipes, and jaz-api tools. Triggers on intent like "close the books for X", "file GST for Y", "onboard new client Z", "what's outstanding for Acme this month". Pair with jaz-jobs (workflow blueprints), jaz-recipes (IFRS recipes + calculators), jaz-api (REST gotchas), and jaz-conversion (data migration during onboarding).
tools
Use this skill when answering ad-hoc data questions that aren't covered by download_export (canonical reports — anomaly, audit, aging, P&L, BS, GL, statement of account) or search_* tools (entity listings with structured filters). Pseudo-SQL is a read-only DSL against Jaz's curated reporting schema — single SELECT statement, ≤100 row sync preview or full async CSV export. Tools: get_pseudo_sql_schema (call FIRST — returns live catalog + downloadable jaz-pseudo-sql.md skill body), preview_pseudo_sql, export_pseudo_sql, get_pseudo_sql_export, run_pseudo_sql_and_download.
tools
Use this skill when answering ad-hoc data questions that aren't covered by download_export (canonical reports — anomaly, audit, aging, P&L, BS, GL, statement of account) or search_* tools (entity listings with structured filters). Pseudo-SQL is a read-only DSL against Jaz's curated reporting schema — single SELECT statement, ≤100 row sync preview or full async CSV export. Tools: get_pseudo_sql_schema (call FIRST — returns live catalog + downloadable jaz-pseudo-sql.md skill body), preview_pseudo_sql, export_pseudo_sql, get_pseudo_sql_export, run_pseudo_sql_and_download.
tools
Use this skill whenever an accounting practitioner is doing client work in Jaz — closing the books, filing GST, year-end statutory, onboarding a new client. Covers the practitioner workspace at ~/Documents/Jaz Practice (clients/<slug>/CLIENT.md and engagements/<slug>/ENGAGEMENT.md), engagement routing (monthly-close | quarterly-gst | annual-statutory | onboarding | adhoc), and how the agent loads client context before invoking jaz-jobs blueprints, jaz-recipes recipes, and jaz-api tools. Triggers on intent like "close the books for X", "file GST for Y", "onboard new client Z", "what's outstanding for Acme this month". Pair with jaz-jobs (workflow blueprints), jaz-recipes (IFRS recipes + calculators), jaz-api (REST gotchas), and jaz-conversion (data migration during onboarding).