How to mark B2B order as partially paid outside of Shopify?

So we have a client with the following set-up:

  • Shopify B2B
  • Customers can place an order using NET payment terms
  • The order is sent to the ERP
  • The order is validated, packed and prepared for shipment
  • The ERP generates an invoice based on shippable items
  • The order is shipped and invoice posted to the client
  • The order in Shopify is fulfillment with shipped items
  • When the customer has paid the invoice (usually bank transfer), the invoice is marked

At this point, we need to mark the order as paid, for the amount specified on the invoice.

I can see the following options/problems

  • We cannot “capture” the order, because there is no authorization transaction
  • We cannot mark the order as paid, because the order should only be partially paid
  • We could edit the order and adjust line items which could not be shipped before we mark the order as paid, which perhaps would change the order total. But then the items cannot be shipped later…

So, how can we set the order placed with NET payment terms as partially paid?

Hi Evaldas,

You mentioned:

We could edit the order and adjust line items which could not be shipped before we mark the order as paid, which perhaps would change the order total. But then the items cannot be shipped later.

Is the reason that the items cannot be shipped later because they are effectively removed from the order?

If so, some strategies you could consider would be:

  1. Track Unshipped Items Separately:
    Use a custom metafield or an external system to track the unshipped items and their quantities. This way, you can manage the shipment of these items later without altering the original order.
  2. Create a New Order for Unshipped Items:
    Instead of editing the original order, create a new order for the unshipped items when they are ready to be shipped. This keeps the original order intact and allows for proper tracking of the new shipment.
  3. Custom Workflow:
    Investigate if Shopify Flow could be used to automate the process of managing unshipped items and creating new orders or tracking them separately.

Correct.

I mean, it would be much preferable to mark the order as partially paid instead with the amount reflecting how much has been paid. This is pretty standard on b2c orders, so I’m a little unsure why it’s not possible on B2B orders with payment terms.