The Problem
Shopify merchants receive payouts that combine sales, refunds, fees, shipping, and tax effects into one bank deposit. Many stores still book the deposit as revenue, which creates statements that are directionally wrong and hard for accountants to reconcile. Existing tools often solve only one layer: either they provide analytics dashboards or they push partial accounting sync data, but they do not make the bookkeeping model itself obvious inside a merchant's daily workflow.
Netto exists to close that gap with a payout-first model that starts from what actually lands in the bank and decomposes each payout into proper debits and credits. The key product decision was to keep this experience embedded in Shopify Admin, not as a detached external portal.
The Approach
Netto runs as an embedded Shopify app and records payout components into a double-entry journal design that merchants and bookkeepers can inspect directly in context. The app can map payout line items to chart-of-account semantics and synchronize outputs to external accounting systems, but the operational center stays inside Shopify.
The interface strategy is intentionally Polaris-free in core surfaces where custom bookkeeping views need tighter control over hierarchy and density. That decision adds implementation burden, but it gives precise ownership of interaction patterns for journal review, payout drill-down, and profit visibility.
Technical Constraints
Embedded Shopify apps come with real constraints that affect architecture and UX. Everything runs inside an iframe boundary with strict host-platform messaging expectations and session handling requirements. The app must preserve a native-feeling admin workflow while still behaving as a secure independent web application.
Billing is another non-trivial layer. Shopify's billing APIs support multiple charging models, and Manual Pricing flows introduce additional operational complexity when aligning plan definitions, trial logic, and account transitions. Netto handles those edge cases by making billing state explicit in backend policy checks and by keeping product entitlement logic close to subscription state transitions.
The accounting model itself also introduces constraints. Journal integrity is non-negotiable, so posting logic must remain deterministic under retries and webhook reorder scenarios. The implementation favors strict idempotency boundaries and traceable posting records so duplicate events do not produce duplicate accounting impact.
Current State
Netto is in active production and already supports real merchants running bookkeeping workflows from within Shopify Admin. The current product center is stable payout decomposition, journal posting, and visibility into profitability based on accounting-grounded records rather than estimate-only analytics. Near-term development focuses on deeper reconciliation ergonomics, clearer accountant collaboration flows, and stronger multi-store operational tooling while keeping the same payout-first model as the foundation.
