Skip to content

Accounting Tech

Accounting Firm Software — Why Custom Platforms Beat Karbon & Ignition for Mid-Size Firms

All articles
📊 💼 🔐

Karbon: $69–119/Seat/Month. Ignition: $79–249/Seat/Month. A 25-Seat Firm = $20.7K–74.75K+/Year Software Bill. Custom Platform = Client Portal + BAS/IAS Tracker + Proposals + Time Billing + ATO Integration. Own it forever. Year one: $120k build. Year two: $0 in per-seat licensing.

A 25-seat accounting firm on Karbon pays $69–119/seat/month. At 25 seats, that's $1,725–2,975/month = $20,700–35,700/year for software alone. Ignition (INFOTECH's mid-market product) costs $79–249/seat/month — same 25 seats = $1,975–6,225/month = $23,700–74,700/year. MYOB Greensill is similar ($60–150/seat/month). Now add the workflow gaps: Karbon doesn't auto-sync with client portals (you're sending engagement letters manually, client logins scattered across email, spreadsheet of client credentials living in someone's OneNote). Ignition doesn't track ATO portal integration (you're logging into ATO separately, manually pulling tax office communications, no unified view in the engagement). Neither platform's time-tracking flows into billing without manual time-entry re-confirmation by fee earners (double data entry: clock in/out on one system, then confirm hours on another). Neither platform tracks BAS vs. IAS workflows differently (all jobs look the same in the system; you're manually flagging "This is a BAS, use the BAS template and the BAS deadline is next Tuesday"). Commission tracking for associates with percentage splits is manual (partnership gets $800k revenue, associate worked on $300k of it at 15% commission = $45k, but Karbon isn't calculating this — you're exporting data, pasting into Excel, manually calculating). The real cost for a 25-seat mid-size firm: Karbon ($20.7k–35.7k), manual client portal management (5 hrs/week × 52 weeks × $50/hr = $13,000/year), ATO portal re-entry time (3 hrs/week × 52 weeks × $60/hr = $9,360/year), time-entry reconciliation (2 hrs/week × 52 weeks × $50/hr = $5,200/year), BAS vs. IAS workflow confusion/rework (8 hrs/week × 52 weeks × $50/hr = $20,800/year), and commission tracking reconciliation (4 hrs/week × 52 weeks × $60/hr = $12,480/year). Total: $81,840–147,840/year in software + labour bleed. Custom accounting platform — unified client portal, BAS/IAS workflow routing, proposal-to-engagement automation, live time billing integration, and ATO portal sync — costs $120–150k to build. You own it forever. Year one: net cost $120–150k (upfront build). Year two: $1,200/year hosting + maintenance. Break-even: 12–18 months. At month 19, you've saved $60k vs Karbon/Ignition (and eliminated portal chaos, ATO re-entry, and commission math errors). Year two: if Karbon/Ignition+labour costs $81–147k and custom costs $1.2k, you save $79.8–145.8k. Year three: $79.8–145.8k saved. Year five: $399k–729k saved (minus the $150k upfront, you're $249k–579k ahead). Mid-size accounting firm with growth plans can't afford Karbon. At 40 seats, Karbon costs $33k–57k/year, custom stays at $1.2k/year. You save $31.8–55.8k annually on software alone, plus 40+ hours/week of recovered labour (25 seats × 2 hours/week recovered productivity = 50 hours/week = 2,600 hours/year = $130,000/year in recovered labour at $50/hr). Total Year 2+ savings: $161.8–185.8k/year.

Why Karbon & Ignition Drain Mid-Size Firm Margin

Karbon's per-seat model ($69–119/seat/month) is built for solo practitioners and small firms (2–5 people). A 25-seat firm hits $35.7k/year, and most firms don't use Karbon alone — they bolt on separate tools: MYOB or Xero for accounting (another $500–2k/year), a separate time-tracking app (Toggl, Harvest, $100–600/year), a separate client portal (Citrix ShareFile, Dropbox, $100–500/year), and manual ATO integration (no tool, someone logs in weekly). That's $36.4k–38.8k/year in scattered tools, plus the labour bleed. Karbon is a practice-management system, not an integrated accounting workflow. An accountant receives an engagement request: new client, tax return + financial statements + GST return (BAS). Karbon creates a "Job" (generic). Accountant manually adds notes: "Tax return (annual, due 30 June), BAS (quarterly, due 28/31 end of month after quarter), financial statements (optional, for bank facility review)." System doesn't know: BAS has a different deadline than tax return. BAS requires live ATO portal access (you need to download current tax balance, previous quarters' lodgement history). Tax return requires: prior-year tax return, profit & loss, balance sheet, and superannuation details. Financial statements require: full accounting records and director sign-off. Three different workflows, one generic "Job" in Karbon. Accountant logs in Monday morning, looks at the dashboard, sees: "18 jobs due this week." Doesn't see: "12 are BAS (due end-of-month-plus-3-days), 5 are tax returns (due 30 June, 43 days away), 1 is financial statements (due 30 April, 10 days away)." Priorities are invisible. Accountant spends 2 hours reorganizing the week in a spreadsheet. Ignition is slightly better (more workflow customization) but still requires manual templating per engagement type. Karbon also doesn't sync client portals. Client (John Smith, small business owner) receives engagement letter via email. Letter says: "Log into the client portal: [generic-karbon-url/client-john-smith]. Password: [temporary password in email]." John logs in, sees a file upload folder. But which folder? "Tax Documents" or "BAS Documents"? Karbon shows a generic folder tree. John uploads: last 3 years of tax returns (in case 2023 is the tax year being reviewed), bank statements, and some random other docs. Accountant logs in, has to manually sort through John's uploads to find: "OK, which ones are this year's?" Engagement letter got forwarded to John's accountant (yes, John has an accountant already — small business owners do). Accountant replies: "I already have these documents. Can John send them directly to me?" Now there are docs in two places: Karbon portal and John's accountant's email. The accountant manually re-forwards docs from John's email into Karbon (copy-paste nightmare, versioning chaos). Time-tracking in Karbon is minimal. Accountant Sam starts 9am working on John's tax return. Karbon has a "time entry" field, but it's optional (most firms don't enforce it). Sam forgets to log time. At 5pm, Sam guesses: "I worked on John's return for 4 hours." Sam marks it down. But then, when the billing is generated, fee earner confirms time: "Actually, I only spent 2.5 hours on John's return; the rest was admin." Manual override, the system doesn't track accuracy. Karbon doesn't track ATO integration. Tax office (ATO) has a portal: your firm logs in with an agent ID, sees all client tax records, downloads lodgement status, views ATO correspondence. But Karbon doesn't link to ATO. You're logging into ATO separately, seeing a tax file number (TFN), then logging into Karbon, finding the same client, looking up the TFN manually, checking if the info matches. If ATO sent a notice (e.g., "Query on your 2024 return: provide docs by 30 June"), you get an email from ATO, you forward it to the Karbon job, you manually flag it in the job notes: "ATO Query — respond by 30 June." No system connection. Karbon also doesn't natively track commission splits. A firm partners with an associate: 60% to the firm, 40% to associate on referred matters. At year-end, you need to calculate: firm revenue $800k, associate worked on $200k of matters at 40% commission = associate gets $80k. But Karbon doesn't have commission rules; you're exporting the revenue ledger, pasting into Excel, manually applying the 40% rate, calculating the amount, and logging it as a manual journal entry. Error-prone and time-consuming.

  • Karbon or Ignition: $20,700–74,700/yr
  • Manual client portal management (5 hrs/week @ $50/hr): $13,000/yr
  • ATO portal re-entry & manual sync (3 hrs/week @ $60/hr): $9,360/yr
  • Time-entry reconciliation & double-entry (2 hrs/week @ $50/hr): $5,200/yr
  • BAS vs. IAS workflow confusion/rework (8 hrs/week @ $50/hr): $20,800/yr
  • Commission tracking & associate reconciliation (4 hrs/week @ $60/hr): $12,480/yr
  • Total: ~$81,840–135,840/year (software + labour bleed)

Custom accounting platform: lead intake with auto-population, fact-find forms that pull borrower data without re-entry, live lender rate panels, document checklist auto-generated per lender, commission tracking with rule-based splits, and NCCP-compliant question logging — costs $120–150k to build. You own it forever. Year one: net cost $120–150k (upfront build). Year two: $1,200/year hosting + maintenance. Break-even: 12–18 months. At month 19, you've saved $60k vs Karbon/Ignition. Year two: if Karbon/Ignition+labour costs $81–135k and custom costs $1.2k, you save $79.8–133.8k. Year three: $79.8–133.8k saved. Year five: $399k–669k saved (minus the $150k upfront, you're $249k–519k ahead). Mid-size accounting firm with growth plans can't afford Karbon. At 40 seats, Karbon costs $33k–57k/year, custom stays at $1.2k/year. You save $31.8–55.8k annually on software alone, plus 40+ hours/week of recovered labour (25 seats × 2 hours/week recovered productivity = 50 hours/week = 2,600 hours/year = $130,000/year in recovered labour at $50/hr). Total Year 2+ savings: $161.8–185.8k/year.

What Custom Replaces: Six Core Modules

1. Unified Client Portal with Folder-by-Service-Type

Client John Smith logs into portal. Portal shows three tabs: "Tax Return", "BAS", "Financial Statements". Each tab is a folder with upload zones and a checklist. "Tax Return" folder shows: "Required: Prior-year tax return ✓ (uploaded 12 June), Profit & Loss ✗ (missing), Balance Sheet ✓ (uploaded 12 June), Superannuation statement ✓ (uploaded 14 June)." John sees exactly what's needed, can upload missing docs without confusion. Accountant logs in, sees: "John's Tax Return folder: 3/4 docs uploaded. Missing: P&L. Send reminder email." System auto-sends: "Hi John, we're missing your Profit & Loss statement. Please upload by 18 June so we can complete your tax return on time." John uploads immediately. Zero email threads, zero portal confusion, zero re-entry of docs in multiple places. Karbon has a generic "files" folder; this is templated, guided, and service-aware.

2. Engagement Type Router (BAS vs. IAS vs. Tax Return vs. Financial Statements)

Practice manager creates new engagement: "John Smith - Tax Return + BAS for FY2025-26". System recognizes two services. Automatically routes: Tax Return workflow (annual, due 30 June, documents tab #1, approval sign-off required) and BAS workflow (quarterly, due 28 August, documents tab #2, ATO portal integration enabled). When you log into the ATO portal on behalf of John, the system detects: "You're reviewing John's BAS for Q1 2026. Deadline: 28 July. Current ATO balance: $2,000 (John owes the ATO). Previous lodgement: 28 April 2026 (on time)." System auto-logs into the engagement: "[2026-06-13 09:32] ATO data synced: Q1 BAS balance $2,000, prior quarter on-time. Status: OK." Fee earner sees a dashboard: "John's BAS: 14 days to deadline. ATO shows $2k balance due. Client hasn't sent Q1 activity statement yet. Sent reminder 12 June. Status: Awaiting client docs." For the tax return: "John's Tax Return: 47 days to deadline. Documents received. P&L missing. Sent reminder 14 June. Once P&L arrives, you can begin tax return (2 days to complete)." Two workflows, two timelines, zero manual prioritization. Karbon shows one generic job; you manually track both in a spreadsheet.

3. Time Billing with Auto-Flow to Client Deliverables

Fee earner Sam clocks in: "Starting John Smith — Tax Return". Sam works for 2 hours, 45 minutes. Clocks out. System logs: [09:00–11:45] Tax Return prep work. Sam's timesheet auto-updates: "Tax Return (John Smith): 2.75 hours logged". At month-end, billing auto-generates: if John's engagement is fixed-fee ($800 for tax return), system shows: "Estimate: 3 hours work at $100/hr = $300 cost, fixed-fee $800 = $500 margin." If time runs over, system alerts: "You've logged 4 hours on a 3-hour-estimate job (John's Tax Return). Confirm with manager before billing." If John's engagement is time-based (hourly billing), system auto-generates invoice: "2.75 hours × $150/hr = $412.50 due from client." No double-entry, no time-entry reconciliation, no fee earner override guesses. Karbon requires manual time-entry confirmation after the fact (Sam clocks out, then later "confirms" time on a separate screen); this is friction and error-prone.

4. BAS/IAS Deadline Tracker with ATO Portal Sync

Practice manager has dashboard: "BAS Due This Week: John Smith (Q2, due 28 Aug, 15 days), Sarah Co (Q2, due 28 Aug, 15 days), 4 other clients (5 BAS total, all due same day)". System shows: "ATO Balances (synced 1 hour ago): John owes $2k, Sarah owes $1.2k, ... Total client ATO liability this week: $15.3k." When 28 Aug arrives, system sends auto-reminders: "John's BAS due TODAY. Current balance: $2k. Please confirm payment to ATO by 5pm to avoid penalty." John's accountant replies: "Payment confirmed to ATO, ref: [TXN12345]." System logs: "BAS lodged 28 Aug, 4:30pm. ATO payment reference logged. On-time." For missed deadlines, system flags: "Sarah's Q2 BAS was due 28 Aug. It's now 30 Aug. Status: OVERDUE. ATO penalty applies (1% of debt per month, min $20). Contact Sarah immediately to lodge and confirm penalty liability." No missed deadlines in a system that knows the date, the client, the service type, and the ATO connection. Karbon doesn't connect to ATO; you manually log into the ATO portal, check each client's status, then log back into Karbon to update notes. 3 hours/week is realistic for a 25-seat firm juggling 100+ client tax files.

5. Proposal-to-Engagement Workflow with Automatic Terms & Conditions

New prospect: Maria's Cafe, a small business needing tax return, BAS, and bookkeeping assistance. Practice manager clicks "New Proposal" in system. Selects services: "Tax Return + BAS + Monthly Bookkeeping". System auto-generates proposal with pricing: "Tax Return: $800 (fixed-fee, 3 hours est.), BAS (quarterly): $300/quarter, Monthly Bookkeeping: $600/month (payroll, invoicing, reconciliation). Total Year 1: $3,800." Proposal includes auto-populated T&Cs (Australian practice standards, fee protection, privacy policy, superannuation contribution obligations). Maria reviews, approves, signs electronically. System auto-converts to engagement: creates tax return job (due 30 June), creates 4 BAS jobs (due 28 Feb, 31 May, 31 Aug, 30 Nov), creates monthly bookkeeping standing job (15th of each month). Client portal auto-populates with upload folders per service. Engagement letter sent automatically with portal login. No manual document creation, no generic engagement letters modified in Word, no duplication. If Maria later says "Add Financial Statements", system adds: "Financial Statements: $500 (fixed-fee). Revised total: $4,300." Maria approves, system creates a new FY job, updates portal folders. Karbon requires manual proposal creation in Word, manual T&Cs copy-paste, manual engagement letter sends; this is hours of work per new client, especially for larger firms onboarding dozens annually.

6. Commission Splits & Associate Reconciliation (Automated)

Firm partners with associate Alex: "On referred matters where Alex is involved, firm gets 70%, Alex gets 30%." System rule: "Alex" = 30% commission on referred revenue. At month-end: firm revenue $12,000 (5 clients billed). System logs: "John Smith Tax Return: Alex handled half the work, referred = 50% attribution to Alex. Revenue: $800. Alex commission: $800 × 50% × 30% = $120. Firm: $680." System auto-calculates Alex's total commission: $120 + [other jobs Alex worked on] = $3,000 this month. Generates payout ledger: "Alex YTD commission: $18,000 (Jan–June). Pending payment June: $3,000. YTD after payment: $21,000." Accountant (separate from practice manager) logs in, sees: "Alex commission ready to pay: $3,000. Auto-transfer to Alex's bank?" Clicks yes, system ACH-transfers $3,000 to Alex's account. Zero manual Excel, zero calculation errors, zero month-end reconciliation chaos. Karbon doesn't have commission rules; you're exporting revenue, manually calculating Alex's share, and booking a journal entry (if you remember, or if it's not forgotten in the reconciliation queue).

The ROI Math: 25-Seat Firm ($35.7K Annual Software Spend)

Item Year 1 Year 2+
Custom build (one-time) $150,000 $0
Hosting (Netlify + Postgres) $600 $600
Maintenance & ATO sync updates (4 hrs/mo) $4,800 $4,800
Total Custom ~$155,400 ~$5,400
Karbon + manual labour (est.) $101,540 $101,540
Annual Savings (Year 2+) Loss: $53,860 Gain: $96,140

Year one shows upfront build cost, but break-even arrives at month 20–22. Year two, you're $96k ahead. Year three, you've saved $192k (cumulative). A larger firm (40 seats) sees the gap widen: Karbon costs climb to $38.4k–57.6k/year (plus labour bleed of ~$130k), custom stays at $5.4k/year, saving $160k+ annually. A mid-size firm growing from 15 to 25 to 40 seats over 3 years bleeds $303k to Karbon (3 years × $101k/year average), while custom platform costs stay at $150k total ($150k build + $5.4k for years 2–3 amortised). By seat count, custom is financially mandatory above 20 seats.

Australian Accounting Firm Specifics (TPB Rules, ATO Portal, BAS/IAS)

Tax Practitioners Board (TPB) regulates Australian tax agents. Key compliance: tax agents must maintain client information securely, lodge tax returns on time, and keep audit trails of all client advice. ATO (Australian Taxation Office) requires: every tax agent has a Tax Agent ID (TAI), issues to clients annually. ATO portal lets agents access client records, download tax information, view lodgement status, and receive ATO correspondence. BAS (Business Activity Statement) is quarterly for most businesses, monthly for high-turnover entities ($20k+/quarter), and annual for low-income earners. IAS (Income Adjustment Statement, now called STP Phase 2 Reporting) is real-time salary-and-wages reporting (used for PAYG withholding). Different deadlines: BAS is 28 days after quarter-end (plus 2 days if lodging electronically = 21 July for Q1). IAS is real-time as payroll is processed (no batch lodging). Tax returns are annual (due 30 June for calendar-year entities, 31 Oct for financial-year entities). Karbon doesn't distinguish between BAS and IAS; you're manually flagging jobs with different deadline rules. Karbon also doesn't connect to the ATO portal; you're logging in separately, manually copying ATO status back into Karbon notes. Custom system embeds: TPB compliance logging (every client communication auto-logged with timestamp), ATO portal integration (live sync of client records, direct ATO correspondence viewing), BAS-vs-IAS routing (different workflows, different checklists, different deadlines), and deadline automation (system knows every client's BAS due date, tax return due date, and IAS frequency). Australian firms using outdated per-seat practice-management software are bleeding compliance risk and labour hours. Custom systems unify: client portal with service-specific uploads, engagement-type routing with deadline automation, time-billing with zero manual re-entry, ATO portal sync eliminating daily portal logins, and commission tracking automating associate payouts. Australian firms of 20+ seats cannot afford Karbon. They need systems that speak ATO, understand TPB rules, and treat BAS/IAS/tax returns as distinct workflows, not generic "jobs".

Six FAQs

What if we're a solo accountant — is custom platform needed?

No. A solo practitioner using Karbon at $100/month ($1.2k/year) is fine; manual client portals and ATO logins are manageable. Custom platform ($150k upfront) doesn't break even for 8–10 years. Stay on Karbon until you hire 3–5 staff. Then custom makes ROI sense.

Can we migrate existing client records and engagements from Karbon to custom?

Yes. Karbon exports client contact data (name, phone, email, address, ABN) as CSV. Custom system imports in hours — 200+ client records restored, no re-entry. Historical jobs and notes are text-based; you can export as JSON/CSV and archive in custom system as historical records (read-only, for continuity). Active engagements (in-progress tax returns, ongoing BAS) should restart in custom system (2–3 minutes per engagement to set up service type, deadline, and client folder).

How do we integrate with the ATO portal — is there an API?

ATO doesn't expose a public API for agents, but custom system can auto-login using agent credentials (encrypted), pull client list and lodgement status daily, and display in dashboard. ATO correspondence (queries, notices) still lands in your email, but system can auto-pull and link to the engagement record. Full API integration is on ATO's roadmap (STP Phase 2 Reporting is moving that direction); for now, automated portal access + email integration covers 90% of sync needs.

What if an associate joins mid-year — can we set up commission retroactively?

Yes. New associate joins in June, but they had 2 referred jobs that settled in March/April before they joined. System allows: add new associate record, apply retroactive commission rule ("1 June onwards: 30% commission on referred matters, 15% on co-referred"), then manually adjust March–May jobs to "0% commission (pre-hire)". System recalculates payout ledger. Going forward, all future jobs are auto-split per rules.

How do we handle different engagement types — tax returns vs. BAS vs. bookkeeping?

System has engagement templates (editable by admin). Each template specifies: Tax Return (annual, due 30 June, documents: prior return + P&L + balance sheet + super detail, approval sign-off required). BAS (quarterly, due 28 days after quarter-end, documents: activity statement, bank reconciliation, zero approval workflow). Bookkeeping (monthly standing, documents: invoices + receipts + bank feeds, auto-generated report). When practice manager creates "Maria's Cafe - Tax Return + BAS", system auto-applies both templates. Proposals, checklists, and portal folders are pre-populated per service type. Zero manual template tweaking.

Can we track fee earner billable hours and utilisation per practitioner?

Yes. Dashboard shows per-practitioner metrics: Sam (Senior Accountant): 120 billable hours this month (est. $18k revenue at $150/hr), 160 total hours (75% utilisation), average job time 5.5 hours. Sarah (Associate): 80 billable hours ($8k revenue), 100 total hours (80% utilisation), average job time 4.2 hours. System also tracks: tax returns started vs. completed (Sam: 8 started, 5 completed, 3 pending), BAS completed on-time (Sarah: 12 BAS all on-time), and bottleneck jobs (John Smith's tax return is 2 weeks overdue, flagged for manager intervention). Insights: Sam is under-utilised (75% vs. firm target 85%), Sarah is a BAS specialist (fastest completion rate), and John Smith job needs escalation or resource injection.

The Bottom Line

Karbon and Ignition are industry defaults because they're quick to set up for a solo practice. But a 25-seat firm bleeding $35.7k/year on Karbon + $66k/year in manual labour (client portal management, ATO re-entry, time-entry reconciliation, BAS vs. IAS confusion, commission tracking) doesn't need better licensing. It needs one system: unified client portal (no scattered login credentials, service-specific upload folders), engagement-type router (BAS workflow ≠ tax return workflow, different deadlines, different checklists), time-billing auto-flow (no double-entry, hours auto-populate invoices), ATO portal sync (daily data pull, zero manual logins, live deadline tracking), commission splits rule-based (zero month-end Excel), and TPB-compliant audit trails (every client interaction logged). Custom platform costs $150k upfront, $5.4k/year to run. Karbon costs $35.7k/year, forever. Year two, custom is $96k ahead. Year five, you've saved $480k and own your firm's workflow, your client relationships, your compliance proof, and your economics. No per-seat licensing, no manual data entry, no ATO portal login chaos. You control the system. You control the accountant experience. You control the fee earner productivity. You control the margin.

Ready to build an accounting platform that scales with your firm and the ATO? Check Aidxn's custom software packages, or book a call to map your seat count, current pain points, client volume, associate structure, and mid-size accounting firm ROI timeline.

Let us make some quick suggestions?
Please provide your full name.
Please provide your phone number.
Please provide a valid phone number.
Please provide your email address.
Please provide a valid email address.
Please provide your brand name or website.
Please provide your brand name or website.