Standard Sales Path
The most common sales flow: Sales Order → Item Fulfillment → Invoice → Customer Payment
Flow Diagram
STANDARD SALES PATH
─────────────────────────────────────────────────────────────────
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ SALES ORDER │ │ ITEM FULFILLMENT│ │ INVOICE │ │ PAYMENT │
│ │ │ │ │ │ │ │
│ GL: None │ ──▶ │ GL: None* │ ──▶ │ GL: Yes │ ──▶ │ GL: Yes │
│ Inv: Commits │ │ Inv: Reduces │ │ Inv: None │ │ Inv: None │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
* GL at Fulfillment only if "Post COGS at Fulfillment" is enabled
Stage 1: Sales Order Creation
What Happens
| Action | Result |
|---|---|
| Create SO | Record saved with status "Pending Fulfillment" |
| Items added | Quantity committed against inventory |
| Pricing applied | Extended amount calculated |
| Taxes calculated | Tax lines created if applicable |
Inventory Impact
INVENTORY COMMITMENT ON SALES ORDER
─────────────────────────────────────────────────────────────────
Before SO:
┌─────────────────────────────────────────┐
│ Item: Widget-001 │
│ On Hand: 100 │
│ Committed: 0 │
│ Available: 100 │
└─────────────────────────────────────────┘
After SO (Qty: 25):
┌─────────────────────────────────────────┐
│ Item: Widget-001 │
│ On Hand: 100 (unchanged) │
│ Committed: 25 (reserved for SO) │
│ Available: 75 (100 - 25) │
└─────────────────────────────────────────┘
GL Impact
None - Sales Order does not post to General Ledger.
Sales Order Statuses
| Status | Meaning |
|---|---|
| Pending Approval | Needs approval workflow |
| Pending Fulfillment | Ready to ship |
| Pending Billing | Shipped, awaiting invoice |
| Pending Billing/Partially Fulfilled | Partial ship, more to fulfill |
| Billed | Fully invoiced |
| Closed | Manually closed |
Stage 2: Item Fulfillment
What Happens
| Action | Result |
|---|---|
| Create IF from SO | Fulfillment record linked to SO |
| Confirm quantities | Shipping quantities finalized |
| Save IF | Inventory physically reduced |
| SO status updates | Changes to "Pending Billing" |
Creating Item Fulfillment
FULFILLMENT CREATION
─────────────────────────────────────────────────────────────────
Sales Order #SO-001
├── Line 1: Widget-A (Qty: 10) ──▶ Fulfill: 10 ✓
├── Line 2: Widget-B (Qty: 5) ──▶ Fulfill: 5 ✓
└── Line 3: Widget-C (Qty: 20) ──▶ Fulfill: 15 (partial)
Result: Item Fulfillment #IF-001 created
SO Status: Pending Billing/Partially Fulfilled
Inventory Impact
INVENTORY AFTER FULFILLMENT
─────────────────────────────────────────────────────────────────
Before Fulfillment (SO committed 25):
┌─────────────────────────────────────────┐
│ On Hand: 100 │
│ Committed: 25 │
│ Available: 75 │
└─────────────────────────────────────────┘
After Fulfillment (25 units shipped):
┌─────────────────────────────────────────┐
│ On Hand: 75 (reduced by 25) │
│ Committed: 0 (released) │
│ Available: 75 (same as On Hand) │
└─────────────────────────────────────────┘
GL Impact
Typically None - Standard behavior posts COGS at invoice time.
Exception: If using Standard Costing with "Post Inventory Cost to COGS at Fulfillment":
| Account | Debit | Credit | Why? |
|---|---|---|---|
| COGS | $500 | Expense recognized early (Expense ↑) | |
| Inventory Asset | $500 | Goods left warehouse (Asset ↓) |
WHY POST COGS AT FULFILLMENT?
─────────────────────────────────────────────────────────────────
Standard (default): COGS posts at Invoice
- Revenue and cost match in same period
- Most common approach
Exception: COGS at Fulfillment
- Cost recognized when goods ship
- Used when revenue recognition is delayed
- Inventory reduced immediately
Partial Fulfillment
PARTIAL FULFILLMENT SCENARIO
─────────────────────────────────────────────────────────────────
SO #001: 100 units ordered
│
├── IF #001: 40 units shipped
│ └── SO Status: Pending Billing/Partially Fulfilled
│
├── IF #002: 35 units shipped
│ └── SO Status: Pending Billing/Partially Fulfilled
│
└── IF #003: 25 units shipped (final)
└── SO Status: Pending Billing (fully fulfilled)
Stage 3: Invoice
What Happens
| Action | Result |
|---|---|
| Bill from SO | Invoice linked to SO and IF |
| Revenue recognized | GL entries posted |
| A/R created | Customer owes money |
| SO status updates | Changes to "Billed" |
GL Impact
| Account | Debit | Credit | Why? |
|---|---|---|---|
| Accounts Receivable | $1,000 | Customer owes you $1,000 (Asset ↑) | |
| Sales Revenue | $850 | You earned $850 (Revenue ↑) | |
| Sales Tax Payable | $150 | You owe tax to government (Liability ↑) | |
| COGS* | $500 | Cost of items sold (Expense ↑) | |
| Inventory Asset* | $500 | Items left your warehouse (Asset ↓) |
*COGS posts at invoice if not posted at fulfillment
GL ENTRY BREAKDOWN - INVOICE
─────────────────────────────────────────────────────────────────
REVENUE SIDE (what you earned):
A/R (Asset) $1,000 Dr ← Customer owes you
Revenue $850 Cr ← Money earned
Tax Payable (Liability) $150 Cr ← Tax owed
COST SIDE (what it cost you):
COGS (Expense) $500 Dr ← Expense recognized
Inventory (Asset) $500 Cr ← Stock reduced
Total Debits: $1,500
Total Credits: $1,500 ✓ Balanced!
Invoice Creation Options
INVOICE CREATION OPTIONS
─────────────────────────────────────────────────────────────────
Option 1: Invoice all fulfilled items
SO #001 → IF #001 (40 units) ─┐
→ IF #002 (35 units) ─┼──▶ Invoice #INV-001 (75 units)
│
└── Partial billing possible
Option 2: Invoice per fulfillment
SO #001 → IF #001 (40 units) ──▶ Invoice #INV-001 (40 units)
→ IF #002 (35 units) ──▶ Invoice #INV-002 (35 units)
Stage 4: Customer Payment
What Happens
| Action | Result |
|---|---|
| Apply payment to invoice | A/R reduced |
| Deposit created | Bank account increased |
| Invoice status | Changes to "Paid In Full" |
GL Impact
Step 1: Customer Payment Received
| Account | Debit | Credit | Why? |
|---|---|---|---|
| Undeposited Funds | $1,000 | Money received, waiting for deposit (Asset ↑) | |
| Accounts Receivable | $1,000 | Customer no longer owes you (Asset ↓) |
PAYMENT GL EXPLAINED
─────────────────────────────────────────────────────────────────
Before Payment:
A/R = $1,000 (customer owes you)
Cash = $0
After Payment:
A/R = $0 (debt cleared)
Undeposited Funds = $1,000 (money in hand, not yet in bank)
Think: Customer's IOU → Actual money in your hands
Step 2: When Deposit is Made (Bank Deposit record)
| Account | Debit | Credit | Why? |
|---|---|---|---|
| Bank Account | $1,000 | Money in your bank (Asset ↑) | |
| Undeposited Funds | $1,000 | No longer holding cash (Asset ↓) |
Why Two Steps? You might receive multiple checks throughout the day and deposit them together.
Complete Timeline
STANDARD PATH TIMELINE
─────────────────────────────────────────────────────────────────
Day 1: Sales Order Created
└── GL: Nothing posted
Inv: 25 units committed
Day 2: Item Fulfillment Saved
└── GL: Nothing posted (standard costing)
Inv: 25 units shipped (On Hand reduced)
Day 3: Invoice Created
└── GL: Revenue + A/R + COGS + Inventory posted
Inv: No change (already shipped)
Day 10: Customer Payment Received
└── GL: Undeposited Funds + A/R cleared
Inv: No change
Day 10: Bank Deposit Made
└── GL: Bank + Undeposited Funds cleared
Inv: No change
Related Records
| Record | Relationship |
|---|---|
| Customer | SO.entity field |
| Item | SO line items |
| Location | Source of inventory |
| Shipping Item | Shipping method |
| Tax Code | Tax calculation |
| Terms | Payment terms |
| Sales Rep | Commission tracking |
Next Steps
- Direct Paths - Skip fulfillment or Sales Order
- Returns & Credits - Handle customer returns