Overview
If you sell physical products and use subscriptions, this section covers how Journey coordinates the complex logistics of getting items to customers on time, managing inventory, and optimizing delivery costs. What You’ll Learn:- Delivery Synchronization - How Journey intelligently groups multi-frequency items into efficient shipments
- Packing Zones - How the system protects your fulfillment team by locking in orders before packing begins
- Frequency Management - How customers can adjust delivery schedules without disrupting billing
- Automated Processing - How daily billing, payment recovery, and fulfillment work together seamlessly
- Payment & Inventory Integration - How payment status controls stock management and delivery timing
- Reduced Shipping Costs - Automatic consolidation of multi-frequency items saves on per-delivery fees
- Operational Efficiency - Packing zones prevent chaos and ensure teams have time to fulfill orders properly
- Customer Satisfaction - Predictable delivery schedules with flexibility to pause, resume, or adjust frequency
- Revenue Protection - Automatic dunning (payment recovery) means failed payments don’t block fulfillment
Delivery Synchronization Algorithm
The Problem
With multi-frequency subscriptions, you could end up with many small, inefficient deliveries:- Monday: Milk only (weekly)
- Tuesday: Eggs only (bi-weekly)
- Friday: Coffee only (monthly)
The Join-by-Week Algorithm
Journey automatically merges deliveries that are within 5 days of each other into a single shipment. This intelligent consolidation reduces shipping costs for both you and your customers, customers benefit from fewer shipments and lower delivery fees, while you reduce per-unit shipping expenses through bulk consolidation.How It Works
1
Calculate Next Date for Each Item
For each product in the subscription, Journey calculates when it’s next due based on its frequency:
2
Find Earliest Date
Which item is due first is identified:
3
Check 5-Day Window
We check which other items are due within 5 days of the earliest date:Result: Ship only Coffee on Oct 1
4
Repeat for Next Batch
On Oct 8, the process is repeated:Result: Only milk is shipped on Oct 8On Oct 15:Wait! Milk is also due Oct 15. Both within window:Result: Milk + Eggs are shipped together on Oct 15
Business Benefits of Consolidation
By intelligently grouping deliveries within a 5-day window:| Benefit | Impact |
|---|---|
| Reduced Shipments | Customers receive fewer packages (fewer shipping fees pass to them) |
| Lower Per-Unit Costs | Consolidating multiple items onto one truck reduces your cost per delivery |
| Improved Margins | Fewer shipments = better profitability on subscriptions |
| Better Customer Experience | Customers prefer consolidated deliveries (less packaging waste, fewer doorstep visits) |
| Logistics Efficiency | More items per shipment = better truck utilization and lower carbon footprint |
Packing Zones & Weekday Alignment
If you’re shipping physical deliveries, the system protects your fulfillment operations by:- Locking down packing time before each delivery day
- Aligning deliveries to allowed weekdays for each postal code
Packing Zone Configuration
You configure for each delivery day:- When packing starts: typically 1 day before delivery (Wednesday for a Thursday delivery)
- When new orders are locked in: typically 8 AM on delivery day (by Thursday 8 AM, Thursday’s packing is frozen)
- Prevents overwhelming packing teams - Can’t add rush orders once packing starts
- Guarantees fulfillment time - Cutoff ensures orders are finalized before hand-packing
- Improves accuracy - No mid-packing changes causing errors
- Customer benefit - More predictable delivery schedules
Adjust Delivery Frequency
Customers can change how often they receive deliveries (e.g., switching from weekly to bi-weekly). What Happens: The system uses a simple rule: next delivery date = last delivery date + new frequency interval This means the next delivery is always calculated from when they last received (and paid for) the item, not from today. Example:- Fair to customers - They don’t get charged earlier just because they made the change late in the week
- Predictable - Changes don’t create confusing gaps or sudden charges
- Simple logic - Easy for customers to understand when their next charge will be
Automated Processing
Daily Billing Process
The system runs a completely automated billing process every day to handle subscription payments. This ensures that recurring revenue is processed consistently without manual intervention, giving your team more time to focus on customer relationships and growth.1
Process Scheduled Deliveries
The system identifies all subscriptions with deliveries scheduled for today and automatically charges the customer’s payment method.
2
Recover Failed Payments
If a payment fails, the system automatically retries the charge. This recovery process (called dunning) helps maximize revenue by giving customers multiple opportunities to update their payment information before their subscription is interrupted.
3
Monitor Subscription Health
Subscriptions that encounter payment issues are flagged as “at-risk” so your team can proactively reach out to customers before their service is disrupted. Automatic messages (email and SMS) can be configured that get sent to these customers. These messages can e.g. navigate customers to their my pages where they can update their payment information.
4
Enforce Payment Deadlines
After a configurable grace period (default: 20 days), unpaid subscriptions are automatically cancelled. This protects your business from unlimited payment failures while giving customers a fair window to resolve billing issues.
5
Complete Digital Fulfillment
For digital products and automated fulfillment integrations, deliveries are automatically marked as complete when no manual action is required.
Key Business Outcomes
When a payment is processed, the system automatically updates the subscription status based on the result. Successful charges keep the subscription active and the customer’s service flowing uninterrupted. Failed charges transition the subscription to a “past due” state, triggering your retention workflows and giving you time to recover the revenue. This automated cycle ensures predictable recurring revenue while minimizing churn from payment failures.Dunning Management
Journey automatically handles failed payments through a configurable two-layer system that balances recovery opportunities with business protection.How It Works: Two Key Controls
The dunning system uses two distinct levers to manage failed payments:Retry Attempts: How many times the system tries to collect payment (typically one attempt per day)Cancellation Days: After how many calendar days the system gives up and cancels the deliveryThese work independently, giving you flexibility to match your business strategy.
- Dunning Settling Attempts: 25 (retry up to 25 times to maximize recovery)
- Failed Payment Cancelled Days: 18 (but free up inventory after 18 days for other orders)
Understanding the Dunning Timeline
Here’s what happens with the example configuration (25 attempts, 18 days):| Timeline | What Happens | Subscription Status | Customer Experience |
|---|---|---|---|
| Day 1 | Payment attempt fails | Changes to PAST_DUE or ERROR | Receives notification with next steps |
| Days 2-17 | System retries once per day | Stays PAST_DUE/ERROR | Receives reminders every 4 attempts |
| Day 18 | Delivery cancelled and stock freed | Still PAST_DUE/ERROR | Inventory is reallocated; no more delivery attempt |
| Days 19-25 | System continues retrying (attempting to collect debt) | Still PAST_DUE/ERROR | Receives continued reminders every 4 attempts |
| Day 25 | Reaches max retry attempts | Changes to EXPIRED | Receives final cancellation notice; subscription suspended |
Configurable Strategy
You can adjust these settings independently to match your business needs:| Scenario | Dunning Attempts | Cancelled Days | Why Different? |
|---|---|---|---|
| Inventory-Focused | 25 | 18 | Keep retrying payment longer, but free up stock faster for other orders |
| Balanced (Default) | 20 | 20 | Attempts expire at roughly the same time as delivery cleanup |
| B2B/High-Value | 15 | 25 | Stop automated retries sooner, but keep longer for manual intervention or reconciliation |
| Fulfillment-Driven | 20 | 10 | Keep retrying, but notify warehouse 10 days in to reallocate resources |
- Dunning attempts = How aggressive you want to be about recovering revenue
- Cancelled days = How long you can hold inventory or keep delivery records in limbo
Error Code Classification
Journey categorizes payment failures as either retryable (past_due) or requires intervention (error):| Error Type | Error Codes | State | Retry? |
|---|---|---|---|
| Insufficient Funds | insufficient_funds, 51, do_not_honor | PAST_DUE | Yes ✅ |
| Card Declined | card_declined, 05, 04 | PAST_DUE | Yes ✅ |
| Expired Card | expired_card, 54 | ERROR | No ❌ |
| Invalid Card | invalid_card_number, 14 | ERROR | No ❌ |
| Fraud Detected | fraud_detected, fraud | ERROR | No ❌ |
| Technical Error | gateway_timeout, 500 | ERROR | No ❌ |
Edge Cases & Special Scenarios
Customer Updates Payment Method During Dunning
Scenario: A payment fails, but the customer quickly updates their payment information. What Happens:- The customer adds and verifies a new payment method
- The system automatically uses this updated method on the next retry
- If the charge succeeds, the subscription returns to active status immediately
- No deliveries are missed and the system continues seamlessly
Changing Frequency Mid-Subscription
Scenario: A customer decides to change how often they receive an item mid-cycle. What Happens:- All previously scheduled deliveries continue unchanged (whether paid or unpaid)
- The new frequency takes effect starting from the latest scheduled delivery date, not the last paid delivery
- The system recalculates future delivery dates based on the maximum delivery date already in the system (paid or unpaid)
- The system doesn’t track “paid vs unpaid” when calculating the next delivery — it tracks all scheduled deliveries
- When frequency changes, it uses the latest scheduled delivery date as the baseline
- This prevents overlapping or skipped deliveries
- Existing orders stay in place to maintain consistency with the fulfillment pipeline
Managing Out-of-Stock Situations
Current Behavior: Users can track the stock count and can review when products become low in stock and out of stock and handle the situation accordingly. For example:- Skip the item for this cycle only
- Reschedule it for a future delivery
- Substitute with an alternative product
Related Concepts
Subscriptions
Understand subscription setup, customer management, and how delivery integrates with the subscription lifecycle
Recurring Payments
Understand how payments are processed and how payment status drives delivery fulfillment
Communications
Explore how delivery notifications, delays, and updates are communicated to customers
Invoice Claims
Learn about Icelandic invoice claims as an alternative payment method for deliveries