icon
HomeServicesTeamProjects

Resources

icon
Similar Site FinderSite Speed OptimizereBook: B2B Shopify for IndustrialseBook: Who's Browsing Your Shopify Site?
BlogContact
Book a Call
Book a Call
Let's Talk
Let's Talk
icon
Text Link

March 25, 2026

Net Terms Payment Due Reminder

When you extend Net 30 or Net 60 terms to a wholesale account, the clock starts on the invoice the moment the order is placed. For manufacturers running a dozen or more accounts on payment terms, tracking every due date manually is unsustainable. AR teams either maintain spreadsheets, rely on their ERP to send alerts, or discover overdue invoices only when reconciling at month-end.

Bg Element

‍

Use Case Summary

‍

When you extend Net 30 or Net 60 terms to a wholesale account, the clock starts on the invoice the moment the order is placed. For manufacturers running a dozen or more accounts on payment terms, tracking every due date manually is unsustainable. AR teams either maintain spreadsheets, rely on their ERP to send alerts, or discover overdue invoices only when reconciling at month-end.

‍

Shopify has the payment schedule data. Every B2B order placed through a company account with net terms has a payment schedule attached to it, including the exact date payment is due and whether it has been completed. What most merchants don't know is that Shopify Flow can react to that data automatically.

This workflow has two parts. The first sends a payment reminder to the customer on the day their invoice is due, and notifies your AR team simultaneously. The second part handles what happens when the due date passes without payment: it flags the customer account, tags the order, and sends an escalation alert internally.

‍

Who this is for:

  • Shopify Plus B2B stores offering Net 30, Net 60, or custom net terms to wholesale accounts
  • AR and finance teams that currently track payment due dates manually or through their ERP
  • Operations teams that want consistent, automatic payment reminders without building a separate billing system

‍

What it handles automatically:

  • Sending a payment due reminder to the buyer on the due date
  • Notifying your AR team the moment an invoice becomes due
  • Flagging overdue orders with a tag for filtered reporting
  • Sending an internal escalation alert when payment has not been received past due

‍

What it does not replace: This workflow sends reminders and flags accounts. It does not process payments, update your ERP, or block future orders from overdue accounts at checkout. See the Customization Tips section for how to extend it toward those goals.

‍

Full Guide / Walkthrough

‍

How the Logic Works

‍

Shopify tracks payment schedules on B2B orders. When an order is placed with net terms, Shopify creates a payment schedule with a dueAt date and a completedAt field that remains null until payment is recorded. Shopify fires a webhook called payment_schedules/due on the day the payment schedule becomes due. Flow listens for that webhook.

‍

The workflow splits into two branches from that trigger point.

‍

Branch 1: Due date reminder (same-day)

 ┌─────────────────────────────────┐
 │  Payment schedule due           │  ← Trigger
 └─────────────┬───────────────────┘
               │
               ▼
 ┌─────────────────────────────────┐
 │  Payment terms name contains    │
 │  "Net"?                         │  ← Condition (filter to net terms orders)
 └──────┬──────────────────┬───────┘
       YES                  NO
        │                   │
        ▼                   ▼
 ┌──────────────────┐  ┌──────┐
 │ Send payment due │  │ END  │
 │ reminder to      │  └──────┘
 │ customer         │
 │                  │
 │ Send AR team     │
 │ internal alert   │
 │                  │
 │ Tag order:       │
 │ payment-due      │
 └──────────────────┘

‍

‍Branch 2: Overdue escalation (scheduled check)

A second, separate workflow runs on a scheduled trigger (daily) and looks for orders that are overdue and have not yet been addressed.

┌──────────────────────────────────────┐
 │  Scheduled time trigger (daily)      │  ← Trigger
 └───────────────────┬──────────────────┘
                     │
                     ▼
 ┌──────────────────────────────────────┐
 │  Order has tag: payment-due          │  ← Condition 1
 │  AND payment terms overdue = true    │  ← Condition 2
 │  AND order does NOT have tag:        │
 │  payment-overdue                     │  ← Condition 3 (prevent duplicates)
 └──────┬───────────────────────┬───────┘
       YES                       NO
        │                        │
        ▼                        ▼
 ┌──────────────────────┐   ┌──────┐
 │ Add tag to order:    │   │ END  │
 │ payment-overdue      │   └──────┘
 │                      │
 │ Add tag to customer: │
 │ overdue-account      │
 │                      │
 │ Send internal        │
 │ escalation alert     │
 └──────────────────────┘

‍

The two branches are built as two separate workflows in Flow. They work together: Branch 1 fires on the due date and sets the payment-due tag. Branch 2 fires daily and looks for orders where that tag exists but payment has not been recorded.

‍

Prerequisites

‍

Before setting this up, confirm the following:

  • You are on Shopify Plus with B2B company accounts and net terms enabled
  • Shopify Flow is installed from the Shopify App Store
  • Payment terms are configured on your company locations (Net 30, Net 60, or custom terms)
  • Orders on payment terms are placed through Shopify's B2B checkout, not as manually created draft orders without payment terms applied
  • You have an AR team email address or distribution list for internal alerts

‍

Step-by-Step Setup: Branch 1 (Payment Due Reminder)

‍

Step 1: Open Shopify Flow

From your Shopify admin, go to Apps > Flow. Click Create workflow.

‍

Step 2: Set the Trigger

‍

Click Select a trigger and choose:

Payment schedule due

‍

This trigger fires on the day a payment schedule becomes due on a B2B order. It gives the workflow access to the order and customer data associated with that payment schedule.

‍

This trigger only fires for orders that have a payment schedule attached, which means orders placed through a B2B company account with net terms configured. It does not fire for standard checkout orders paid at time of purchase.

‍

Step 3: Filter to Net Terms Orders

‍

Click Add condition after the trigger.

‍

This filters out any non-net-terms payment schedules. If you use custom payment term names (e.g., "30-Day Invoice"), adjust this condition to match your naming convention.

‍

Step 4: Send the Payment Due Reminder to the Customer

‍

Add the first action:

Action 1: Send email

  • To: {{order.email}}
  • Subject: Payment due: Order {{order.name}}
  • Body:
Hi {{order.customer.firstName}},

This is a reminder that payment for Order {{order.name}} placed on {{order.createdAt}}
is due today.

Order total: {{order.totalPrice}}
Payment terms: {{order.paymentTerms.paymentTermsName}}

To arrange payment, please contact us at [your AR contact email or phone].

Thank you,
[Your company name]

‍

Adjust the body to match your company's tone and include your preferred payment instructions (bank transfer details, ACH information, or a link to your payment portal if you have one).

‍

Step 5: Send an Internal AR Alert

‍

Action 2: Send internal email

  • To: your AR team email
  • Subject: Payment due today: Order {{order.name}} — {{order.customer.defaultAddress.company}}
  • Body:
A B2B order payment is due today.

Order: {{order.name}}
Customer: {{order.customer.firstName}} {{order.customer.lastName}}
Company: {{order.customer.defaultAddress.company}}
Order total: {{order.totalPrice}}
Payment terms: {{order.paymentTerms.paymentTermsName}}
Order date: {{order.createdAt}}

View order in Shopify admin:
https://admin.shopify.com/orders/{{order.id}}

‍

Step 6: Tag the Order

‍

Action 3: Add tag to order

  • Tag value: payment-due

This tag is what Branch 2 (the overdue escalation) will use to find orders that need follow-up. Do not skip this step.

‍

Step 7: Name and Activate

‍

Name the workflow: Net Terms Payment Due Reminder

Click Turn on workflow.

‍

Step-by-Step Setup: Branch 2 (Overdue Escalation)

‍

Create a second, separate workflow for the daily overdue check.

‍

Step 1: Create a New Workflow

‍

In Flow, click Create workflow.

‍

Step 2: Set the Trigger

Click Select a trigger and choose:

‍

Scheduled time

  • Frequency: Daily
  • Time: Choose a time your AR team is working (e.g., 9:00 AM)

‍

Step 3: Add Conditions to Find Overdue Unpaid Orders

‍

After the trigger, add a condition group set to All conditions are true (AND logic):

‍

The third condition prevents the workflow from sending duplicate escalation alerts for accounts that have already been flagged.

‍

Step 4: Tag the Order as Overdue

‍

Action 1: Add tag to order

  • Tag value: payment-overdue

‍

Step 5: Tag the Customer

‍

Action 2: Add tag to customer

  • Tag value: overdue-account

‍

This tag makes overdue customers visible as a segment in your Shopify admin. You can use it to build a saved customer segment or reference it in other workflows (for example, a workflow that prevents new orders from accounts tagged overdue-account).

‍

Step 6: Send the Escalation Alert

‍

Action 3: Send internal email

  • To: your AR team or collections contact
  • Subject: OVERDUE: Payment not received — Order {{order.name}} — {{order.customer.defaultAddress.company}}
  • Body:
A B2B order payment is past due and has not been recorded.

Order: {{order.name}}
Customer: {{order.customer.firstName}} {{order.customer.lastName}}
Company: {{order.customer.defaultAddress.company}}
Order total: {{order.totalPrice}}
Payment terms: {{order.paymentTerms.paymentTermsName}}

This account has been tagged as overdue-account in Shopify.

View order in Shopify admin:
https://admin.shopify.com/orders/{{order.id}}

‍

Step 7: Name and Activate

‍

Name the workflow: Net Terms Overdue Escalation

Click Turn on workflow.

‍

Logic Breakdown

‍

Workflow 1: Net Terms Payment Due Reminder

┌──────────────────────────────────────────┐
 │  TRIGGER: Payment schedule due           │
 └────────────────────┬─────────────────────┘
                      │
                      ▼
 ┌──────────────────────────────────────────┐
 │  CONDITION: Payment terms name           │
 │  contains "Net"                          │
 └──────┬───────────────────────────┬───────┘
       TRUE                        FALSE
        │                           │
        ▼                           ▼
 ┌──────────────────────┐     ┌─────────────────────┐
 │ Send email to buyer  │     │ END                 │
 │ (payment due today)  │     └─────────────────────┘
 │ Send AR alert        │
 │ Tag order:           │
 │ payment-due          │
 └──────────────────────┘

‍

Workflow 2: Net Terms Overdue Escalation

 ┌──────────────────────────────────────────┐
 │  TRIGGER: Scheduled time (daily 9 AM)    │
 └────────────────────┬─────────────────────┘
                      │
                      ▼
 ┌──────────────────────────────────────────┐
 │  CONDITIONS (all must be true):          │
 │  ● Order tag contains "payment-due"      │
 │  ● Payment terms overdue = true          │
 │  ● Order tag does NOT contain            │
 │    "payment-overdue"                     │
 └──────┬───────────────────────────┬───────┘
       TRUE                        FALSE
        │                           │
        ▼                           ▼
 ┌──────────────────────┐     ┌──────┐
 │ Tag order:           │     │ END  │
 │ payment-overdue      │     └──────┘
 │ Tag customer:        │
 │ overdue-account      │
 │ Send escalation      │
 │ alert to AR          │
 └──────────────────────┘

‍

Customization Tips

‍

Send a pre-due reminder 7 days before the due date

The payment_schedules/due trigger fires on the due date. To send a reminder earlier, use a second scheduled time workflow that runs daily, checks orders where payment is due in 7 days (using paymentTerms.dueInDays as a condition), and sends an advance notice email. This is more involved to configure but reduces last-minute payment scrambles.

‍

Restrict new orders from overdue accounts

Once an account has the overdue-account customer tag, a separate Shopify Flow workflow can intercept new orders from that customer and apply a fulfillment hold, combined with an internal alert. This creates a soft block without requiring checkout customization (which would require Shopify Functions). The hold can be released manually when the overdue balance is cleared.

‍

Clear the overdue tag when payment is recorded

When payment is recorded against an order in Shopify, build a third Flow workflow triggered on payment status change that removes the payment-due and payment-overdue order tags and removes the overdue-account customer tag if no other outstanding orders remain. This keeps your segments clean over time.

‍

Route escalations by account size

For high-value accounts, route overdue alerts to a senior contact or account manager rather than a general AR inbox. Add a condition that checks the order total and splits the alert routing based on value:

  • Orders under $10,000: AR team email
  • Orders over $10,000: AR team email plus sales rep or account manager

‍

Log overdue events as customer notes

Use the "Add customer note" action to record the overdue event on the customer record with a timestamp. This creates an audit trail that is visible inside the Shopify admin customer profile without requiring an external CRM.

‍

What This Workflow Does Not Cover

‍

This workflow sends reminders and flags accounts. It does not:

  • Record payments in Shopify when they are received (that is a manual step or an ERP sync)
  • Block a buyer from checking out when their account is overdue (this requires a Shopify Function at checkout)
  • Cancel unpaid orders automatically after a grace period (this would require an additional Flow branch checking for overdue orders beyond a secondary date threshold)

‍

For the full picture on how payment terms are configured and managed in Shopify B2B, see How to Offer Trade Credit Online: Net Terms for New B2B Customers on Shopify.

Download Flow
Contact us

Shopify Pros for MFG & B2B

Top Tier Communication, Guidance and Quality
Your Ecomm Expert and Dev in One Partner

Book a Call
Book a Call

"It's impossible to find a Shopify dev who's a great communicator, highly technical, good with design, and acts as a strategic advisor."

... until now

Subscribe to be in touch with latest news.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
info@shopfab.dev(415) 390-56633301 Richmond Hwy. #1168 Alexandria, VA 22305
iconicon
Primary
HomeServicesTeamProjects
Secondary
CareersFAQsBlogPricingWhite Label
Other
Competitor AnalysisAIsoft SiteContact UsPrivacy PolicyTerms of Service
G2 ProfileGoodFirms ProfileX ProfileInstagram ProfileClutch ProfileAgency Spotter ProfileGitHub ProfileReddit ProfileShopify Partner ProfileYelp ProfileThomasNet ProfileWellFound ProfileUpwork ProfileDev.to ProfileTrustPilot ProfileCrunchbase Profile
© AISOFT DEVELOPMENT LLC. All Rights Reserved. Licensing