Stop Waiting Until Month-End to Know Your Numbers
Fulfil includes a complete general ledger built into your operations. Every order, shipment, and payment posts accounting entries automatically—no separate accounting software, no integration delays.
Request a DemoTrusted by scaling brands


Why DTC Brands Ditch QuickBooks and NetSuite
Most DTC brands start with Shopify + QuickBooks:
Orders sync overnight, you reconcile payment processor settlements manually, and you spend days at month-end cleaning up COGS mismatches.
NetSuite solves the sync problem but brings massive complexity:
Expensive implementations, consultant dependencies, and clunky workflows that weren't built for modern commerce.
With Fulfil, your operations ARE your accounting:
- Ship an order → revenue and COGS post instantly
- Receive inventory → journal entry created automatically
- Payment settles → A/R cleared in real-time
- No sync delays, no manual journal entries, no month-end surprises
The result:
Finance teams know their numbers at any moment, not just after close. And your accountant stops asking "why don't these match?"
Why Built-In GL vs. QuickBooks or NetSuite
Feature | QuickBooks + Shopify | NetSuite | Fulfil GL |
---|---|---|---|
Data Freshness | Nightly sync—hours of delay | Real-time for smaller brands, often delayed as transactions increase | ✓ Real-time, included with ERP |
Payout Reconciliation | Manual payment processor reconciliation | Requires expensive customization | ✓ Native Shopify payout & Amazon settlement reconciliation |
Multi-Warehouse COGS | No multi-warehouse COGS tracking | Complex setup, consultant required | ✓ Warehouse-level COGS out of the box |
Deferred Revenue | Brands book revenue when cash received—proper deferred revenue too hard | Requires expensive add-on modules | ✓ Deferred revenue built-in for pre-orders |
Scalability | Breaks at 5K+ orders per month | Scales for wholesale and smaller brands, but transaction tiers get expensive | ✓ Scales seamlessly, modern interface |
For DTC brands: QuickBooks breaks as you scale. NetSuite works but brings enterprise complexity and costs. Fulfil gives you real-time accounting built into operations from day one.
Every operation creates perfect journal entries
When you ship an order, receive inventory, or process a payment—Fulfil automatically generates the proper debits and credits. No manual journal entries, no integration errors, no accounting cleanup.
- Revenue recognition on shipment
- COGS posted when inventory moves
- A/P and A/R automatically updated
- Payment gateway settlements reconciled
Sample Journal Entry
Account | Debit | Credit |
---|---|---|
120 - Accounts Receivable | $1,250 | — |
400 - Sales Revenue | — | $1,250 |
500 - Cost of Goods Sold | $450 | — |
121 - Inventory Shipped | — | $450 |
Bring your existing chart of accounts
Most businesses moving to Fulfil already have an established chart of accounts. Import your existing structure with full hierarchy, account codes, and types—or start with our DTC-optimized template and customize from there.
- Import existing structure with full hierarchy
- Unlimited multi-level nesting for detailed reporting
- Preserve custom account codes and naming
- Pre-configure accounts for automated posting
Chart of Accounts Preview
Hierarchical StructureCode | Account Name |
---|---|
1000 | ASSETS |
111 | Cash |
112 | Bank Accounts |
112-01 | Bank Checking Account 1 |
112-02 | Bank Checking Account 2 |
115 | Payment Processor Settlements |
115-01 | Shopify Payments |
115-02 | Affirm |
115-03 | Klarna |
120 | Accounts Receivable |
140 | Inventory |
150 | Fixed Assets |
2000 | LIABILITIES |
200 | Accounts Payable |
202 | Gift Card Liability |
203 | Deferred Revenue |
220 | USA Sales Tax Payable |
220-CA | California |
220-NY | New York |
220-TX | Texas |
3000 | EQUITY |
300 | Retained Earnings |
310 | Owner's Equity |
4000 | REVENUE |
400 | Sales |
410 | Shipping (Revenue) |
460 | Other Revenue |
490 | Sales Returns |
495 | Sales Discounts |
5000 | COST OF GOODS SOLD |
500 | Cost of Goods Sold |
501 | Purchase Price Variance |
503 | Freight Outward |
6000 | OPERATING EXPENSES |
600 | Advertising |
600-01 | Meta Advertising |
600-02 | Google Advertising |
600-03 | Amazon Advertising |
601 | Marketing Expenses |
601-01 | Affiliate Commissions |
601-02 | Influencer Marketing |
610 | Bank Fees |
620 | Payroll Expenses |
630 | Rent Expense |
640 | Technology & Software |
Accountants Configure, Operations Runs
Your accountant sets up which GL accounts to use for each transaction type. After that, warehouse staff just do their jobs—receive inventory, ship orders, adjust stock. Fulfil automatically posts the right journal entries using the accounts your accountant configured. No accounting training required for operations teams. No journal entry errors. Your accountant sets the rules once, operations never touches the GL.
Default Account Configuration
Set up once by your accountant, used automatically by operations
Warehouse ships order
Operations staff marks shipment as "Done"
Account | Debit | Credit |
---|---|---|
120 - A/R | $1,250 | — |
400 - Sales | — | $1,250 |
500 - COGS | $450 | — |
121 - Inv. Shipped | — | $450 |
Warehouse receives inventory
Before supplier invoice is posted
Account | Debit | Credit |
---|---|---|
140 - Inventory | $2,500 | — |
206 - Inv. Received | — | $2,500 |
Inventory adjustment
Stock count reveals shortage
Account | Debit | Credit |
---|---|---|
520 - Inv. Losses | $180 | — |
140 - Inventory | — | $180 |
Operations team never touches accounting
Warehouse staff, receiving teams, and operations managers perform their daily work using operational language—pack orders, receive shipments, adjust inventory. Fulfil automatically creates perfect journal entries using the accounts your accountant configured. No training required, no accounting errors.
Run Multiple Legal Entities (US, Canada, UK, EU)
DTC brands expanding internationally need separate legal entities for each country. Fulfil lets you run separate books for each entity—US Inc., Canada Ltd., UK Ltd.—with their own chart of accounts and currency.
Common scenarios:
- US company + Canadian subsidiary for cross-border sales
- Multiple brands under different legal entities
- Separate entities for DTC vs. wholesale/retail operations
- Regional subsidiaries for international expansion
Each entity maintains separate financials, but you can view consolidated reporting across all companies. Post inter-company transactions when entities trade with each other.
Acme USA Inc.
USD • Delaware Corp
Acme Canada Ltd.
CAD • Ontario Corp
Consolidated View
Partial closing
Stop automated workflows while keeping manual control for adjustments
Full period lock
Complete lock prevents all journal entries from any source
Account-level locks
Lock specific accounts individually during period close
Easy reopening
Reopen any period for adjustments when needed
Lock Periods After You Close
After month-end close, lock the period to prevent new journal entries. Use partial close to stop automated postings while you make manual adjustments. Lock individual accounts as you finish reconciliations (e.g., lock cash after bank rec, then lock A/R after customer statements).
Reopen any period if you need to post adjustments later—no calling support for permission.
- Partial close blocks automated entries only
- Full close prevents all new journal entries
- Account-level locks for granular control
- Reopen periods when needed for adjustments
Real-Time Financial Statements
Know your financial position any time—no waiting for month-end close to see P&L or cash position.
Income Statement
- Revenue by channel using classes (Shopify, Amazon, Wholesale)
- COGS and gross margin analysis by product line
- Operating expenses by department or category
- Customizable structure to match your reporting needs
- Export to Excel or view in your data warehouse
Balance Sheet
- Real-time asset valuation including inventory at cost
- Liabilities including deferred revenue and sales tax payable
- Equity tracking with retained earnings
- Multi-period comparisons (current vs. prior month vs. prior year)
Trial Balance & GL
- Trial balance by period with beginning balance, debits, credits, ending balance
- Account-level detail reports with drill-down to source transactions
- General ledger export for auditors via BigQuery
- Trace any GL balance back to source orders, shipments, or payments
See Profitability by Channel Without Duplicate Accounts
Want to know if Shopify is more profitable than Amazon? You could create separate revenue accounts (400-Shopify, 400-Amazon, 400-Wholesale) but your chart of accounts would explode.
Instead, use classes: One revenue account (400 - Sales), but segment by channel using classes. Your income statement shows profitability by channel without maintaining duplicate GL accounts for every revenue and expense line.
Classes are automatically assigned from your orders—no manual coding.
Common DTC use cases:
- Profitability by channel (Shopify, Amazon, Wholesale, Retail)
- Expenses by department (Marketing, Operations, Technology)
- Performance by product line (Apparel, Accessories, Home Goods)
- Cost tracking by warehouse or 3PL location
Income Statement by Channel - Q3 2024
Shopify | Amazon | Wholesale | Total | |
---|---|---|---|---|
Revenue | $842K | $635K | $423K | $1,900K |
COGS | $337K | $254K | $169K | $760K |
Gross Profit | $505K | $381K | $254K | $1,140K |
Marketing | $168K | $127K | $21K | $316K |
Fulfillment | $84K | $95K | $42K | $221K |
Contribution Margin | $253K | $159K | $191K | $603K |
Contribution Margin % | 30% | 25% | 45% | 32% |
Each sales channel automatically assigned from order source
Income Statement by Department - Q3 2024
Marketing | Operations | Technology | Total | |
---|---|---|---|---|
Revenue | — | — | — | $1,900K |
COGS | — | — | — | $760K |
Gross Profit | — | — | — | $1,140K |
Salaries & Wages | $180K | $245K | $320K | $745K |
Operating Expenses | $316K | $95K | $42K | $453K |
Revenue and COGS are company-wide; expenses segmented by department
Why use classes?
- • Understand profitability by channel without complex account structures
- • Compare performance across sales channels and business units
- • Automatic assignment keeps books accurate without manual coding
Track actual vs. budget in real-time
Create budgets by account and period, then track variance against actuals automatically. See exactly where you're over or under budget without waiting for month-end reports. Import budgets via CSV or build them directly in Fulfil.
- Budget by GL account and period
- Real-time variance reporting
- Budget by class or cost center
- Import budgets via CSV
Budget vs. Actual - Q3 2024
Monthly Rent Accrual
Pre-built template with dynamic date and amount fields
Payroll Journal Entry
Keywords for payroll amounts, taxes, contact, and payment date
Prepaid Amortization
Monthly template for amortizing prepaid expenses
Recurring entries made simple
Create templates for recurring journal entries like rent accruals, payroll, or prepaid amortization. Use keywords for dynamic fields (dates, amounts, contacts) so each entry can be customized when created.
- Pre-built templates for recurring entries
- Dynamic keywords for dates, amounts, contacts
- One-click entry creation from template
- Perfect for accruals and adjustments
Frequently asked questions
How does revenue recognition work for subscriptions and pre-orders?
Fulfil automatically handles deferred revenue for subscriptions and pre-orders. When a customer pays for a 12-month subscription, we debit Cash and credit Deferred Revenue. Each month, we recognize 1/12th of the revenue automatically. Same for pre-orders—payment creates deferred revenue, shipment recognizes the revenue. This is built-in, not a separate module you pay extra for.
Can I customize the chart of accounts structure?
Yes. Import your existing chart of accounts with full hierarchy and custom account codes. Or start with our DTC-optimized template and modify it. Unlimited account levels (e.g., 6000 → 600 → 600-01 → 600-01-01). Most DTC brands use 3-4 levels.
How do you handle multi-currency?
Each legal entity operates in its own base currency (USD, CAD, GBP, EUR, etc.). When posting inter-company transactions or consolidated reports, Fulfil uses exchange rates to convert between currencies. You can record transactions in foreign currencies and post them at the transaction date exchange rate.
What accounting standards does Fulfil support?
Fulfil follows US GAAP by default, with support for revenue recognition (ASC 606) and inventory costing methods (weighted average). We're not an accounting firm—we recommend working with your accountant to ensure compliance with your specific requirements.
Can I import opening balances when switching from QuickBooks?
Yes. Import your opening trial balance from QuickBooks as of your go-live date. Map QB accounts to Fulfil accounts, validate the data, and post as your opening journal entry. Your accountant can verify the trial balance matches before going live.
See the general ledger in action
Schedule a demo to see how Fulfil's integrated GL eliminates the need for separate accounting software.
Request a Demo