How lafluc/mangoaccounting works
MangoAccounting is a macOS bookkeeping app for Swiss self-employment. Users enter transactions with receipt attachments and manage depreciable assets; they can review an annual Erfolgsrechnung and Bilanz PDF, or create, save, reopen, and export invoices with Swiss QR payment codes. The graph includes the documented asset and reporting capabilities even where their implementation was not sampled. Invoice and transaction components are grounded in the source index and excerpts; some links to unsampled screens or persistence are therefore omitted or marked unverified.
Main entry points: InvoiceGeneratorView.swift Invoice editor · TabItem.swift Tab definitions · TransactionsListView.swift Transaction list · DocumentListView.swift Saved documents
Components 28
App navigation
- App entry
MangoAccounting/MangoAccounting.swift - Main navigation
MangoAccounting/MainView.swift - Tab definitions
MangoAccounting/TabItem.swift
Bookkeeping
- Transaction entry
MangoAccounting/AddTransactionView.swift - Transaction list
MangoAccounting/TransactionsListView.swift - Transaction details
MangoAccounting/TransactionDetailView.swift - Transaction records
TransactionItem+CoreDataProperties.swift - Category manager
MangoAccounting/CategoryManager.swift - Title suggestions
MangoAccounting/TitleSuggestionStore.swift - Asset management
MangoAccounting/AssetsListView.swift - Asset entry
MangoAccounting/AddAssetView.swift - Asset records
MangoAccounting/AssetItem+CoreDataProperties.swift
Annual reporting
- Annual report
MangoAccounting/AnnualReportView.swift - Report PDF
MangoAccounting/AnnualReportPDFView.swift - Report calculations
MangoAccounting/ReportGenerator.swift
Invoices and archive
- Invoice editor
MangoAccounting/InvoiceGeneratorView.swift - Invoice draft
MangoAccounting/Invoice.swift - Invoice pagination
MangoAccounting/InvoicePagination.swift - Invoice renderer
MangoAccounting/InvoiceView.swift - Swiss QR builder
MangoAccounting/SwissQRBuilder.swift - Saved documents
MangoAccounting/DocumentListView.swift - Document archive
MangoAccounting/DocumentStore.swift
Shared domain and storage
- Fiscal calendar
MangoAccounting/FiscalCalendar.swift - Transaction years
MangoAccounting/TransactionYears.swift - Money rounding
MangoAccounting/Money.swift - Business settings
MangoAccounting/UserSettings.swift - Core Data setup
MangoAccounting/Persistence.swift
Other components
- Bookkeeper
Connections 33
- Bookkeeper → App entry: launches
MangoAccounting/MangoAccounting.swift - App entry → Main navigation: shows
MangoAccounting/MangoAccounting.swift - Tab definitions → Transaction list: routes to
MangoAccounting/TabItem.swift - Tab definitions → Asset management: routes to
MangoAccounting/TabItem.swift - Tab definitions → Annual report: routes to
MangoAccounting/TabItem.swift - Tab definitions → Invoice editor: routes to
MangoAccounting/TabItem.swift - Tab definitions → Saved documents: routes to
MangoAccounting/TabItem.swift - Transaction entry → Category manager: uses categories
MangoAccounting/AddTransactionView.swift - Transaction entry → Title suggestions: uses suggestions
MangoAccounting/AddTransactionView.swift - Transaction list → Transaction entry: opens editor
MangoAccounting/TransactionsListView.swift - Transaction list → Transaction details: opens details
MangoAccounting/TransactionsListView.swift - Transaction list → Transaction years: uses years
MangoAccounting/TransactionsListView.swift - Transaction years → Fiscal calendar: uses calendar
MangoAccounting/TransactionYears.swift - Asset entry → Asset records: records asset
- Asset management → Asset entry: opens editor
- Annual report → Report calculations: requests totals
- Annual report → Report PDF: exports PDF
- Report calculations → Money rounding: rounds totals
MangoAccounting/ReportGenerator.swift - Report calculations → Fiscal calendar: uses year bounds
- Invoice editor → Invoice draft: edits draft
MangoAccounting/InvoiceGeneratorView.swift - Invoice editor → Business settings: loads issuer details
MangoAccounting/InvoiceGeneratorView.swift - Invoice editor → Invoice renderer: renders invoice
MangoAccounting/InvoiceGeneratorView.swift - Invoice editor → Document archive: saves invoice
MangoAccounting/InvoiceGeneratorView.swift - Invoice editor → Invoice pagination: calculates pages
MangoAccounting/InvoiceGeneratorView.swift - Invoice renderer → Invoice pagination: uses page breaks
MangoAccounting/InvoiceView.swift - Invoice renderer → Swiss QR builder: builds QR code
MangoAccounting/InvoiceView.swift - Invoice draft → Money rounding: rounds line totals
MangoAccounting/Invoice.swift - Saved documents → Document archive: loads archive
MangoAccounting/DocumentListView.swift - Saved documents → Invoice editor: opens invoice editor
MangoAccounting/DocumentListView.swift - Saved documents → Invoice draft: reads invoice source
MangoAccounting/DocumentListView.swift - Transaction entry → Transaction records: records transaction
- Transaction list → Transaction records: reads transactions
- Main navigation → Core Data setup: uses data context