eExtend is live: AI chatbot, translation and content in one subscription. 50% off. Code: Launch26 → Click here
How to Manage Orders Containing Both Physical and Digital Products

Fulfilling a mixed cart order that contains both physical and digital items creates a unique operational challenge for your store. Digital downloads require instant access, while physical goods demand warehouse picking, packing, and tracking through a carrier.

Treating these two distinct fulfillment journeys under a single order status often leads to stock errors, shipping delays, and support tickets. Here is how to configure PrestaShop to split mixed orders, streamline fulfillment, and keep both processes running smoothly.

Why Mixed Cart Orders Break Standard Fulfilment

A mixed cart order includes two different things at once: something you send down a wire and something you put in a box.

An order with both physical and digital products is fulfilled in two parts: digital items are delivered automatically via download link or access grant, while physical items are picked, packed and shipped with a tracking number. The order status should reflect both journeys and only close once each part is complete. In PrestaShop, that split is where most operational mistakes start.

The two lines behave nothing alike. A digital product needs no carrier, no packaging and no stock movement. A physical product needs stock allocated, a warehouse pick and a tracking number. Treating them under one status forces a lie: mark the order "Shipped" and the download may still be pending. Leave it "Processing" and the parcel may already be on a van.

Tax, refunds and stock all diverge too. Digital and physical lines can carry different tax rules depending on the product configuration and the destination. A partial refund on the download only must not touch the parcel line, and a cancelled download must not look like stock coming back into the warehouse. These are the seams where mixed orders double-ship, under-deliver, or leave a customer waiting for something that already arrived.

  • Delivery: instant download versus carrier dispatch with tracking.
  • Stock: virtual products usually bypass stock movement; physical lines must be reserved and decremented.
  • Tax: digital and physical lines can sit under different tax rules.
  • Refunds: one line can be refunded without the other.
  • Status: one status cannot honestly describe two journeys.

That is why the rest of this guide works on a split process, not a single button. Keeping each journey visible in PrestaShop is also what makes later support conversations, handled through a PrestaShop Help Desk Module | Customer Support Management System or similar ticketing, far quicker to resolve.

Prerequisites: What You Need Before You Start

  • Access Level: an employee account with permission to edit the catalogue, order settings and order statuses, ideally an admin or store manager profile.
  • Plugin or Version: a current PrestaShop 1.7 or 8.x installation. No plugin is strictly required to follow the workflow, though the help desk route makes support manageable.
  • Estimated Time: about 10 minutes to configure a virtual product and its delivery state, and 5-10 minutes per mixed order to split and close it.
  • Difficulty: beginner for the product setup, intermediate for the split order handling and tax review.

Why Getting Mixed Cart Fulfilment Right Matters

Every mixed cart is a small promise machine. The customer pays once and expects the file within seconds and the parcel within days. When the process is right, that happens without anyone thinking about it.

The payoff compounds across three areas:

  • Fewer support tickets, because customers get their download immediately and their tracking when it exists.
  • Cleaner accounting, since each line carries its own tax rule and its own refund trail.
  • Smoother warehouse flow, because a PDF never appears on a picking list and physical stock is decremented once.

Get it wrong, and the errors are quiet and expensive: a double shipment, a download that never unlocks, a refund posted against the wrong line. The cheapest support ticket is the one your configuration never created.

How To Manage Mixed Cart Orders in PrestaShop?

This guide uses one method: PrestaShop's own product and order settings, working through each stage from product setup to closing the order. Work them in order, because each one depends on the last.

What You'll Need

  • Permissions: an admin or store manager employee account able to edit products, order settings, order statuses and tax rules.
  • Requirements: at least one live digital product with its file ready to upload, and one physical product for testing. A staging copy of the store is strongly recommended before changing order statuses.
  • Time: around 15-20 minutes to set up the product type, download state and tax rules the first time.
  • Difficulty: beginner. No code is needed for the workflow in this guide.

Method 1: Automate Mixed Carts With A PrestaShop Order Module

A mixed cart order only behaves predictably when PrestaShop knows, at product level, which lines are virtual and which are not. That single setting drives everything downstream: whether the order waits for a warehouse pick, whether a download link fires instantly, and how tax gets calculated per line. Get it right once, and the rest of the workflow mostly runs itself.

Step 1: Set Product Type and Delivery Method on Every Line

This is the foundation step, because PrestaShop treats a product as virtual only if you tell it so. That flag is what prevents a digital line from ever entering a picking list or shipping queue.

Open Catalog > Products, select the item and work through the Settings tab:

  • Type of Product: choose Virtual for downloadable files such as PDFs, licence keys or course access. Leave physical goods as Standard product.
  • Pack: use only where the product genuinely bundles several physical items, since packs inherit stock behaviour from their components.

On the Shipping tab of a virtual product, there should be no carrier requirement. On a physical product, confirm weight and dimensions; otherwise, the carrier calculation for the split shipment will be wrong. You should now see the virtual badge on the product in the catalogue list.

Step 2: Attach The Digital File & Control Download Limits

A virtual product with no file attached is a support ticket waiting to happen. Attach the deliverable before the product goes live.

Go to the product's Virtual product tab and upload the file, then set the download behaviour:

  • Filename: keep it descriptive and free of spaces, because buyers see this name in their account.
  • Number of Days: how long the customer can access the download after purchase.
  • Number of Downloads: the maximum permitted per customer, or leave it open if the file is low risk.
  • Expiration Date: a hard cut-off for time-limited content such as an event recording.

You should now see the file listed under the product, ready to be delivered the moment the order is validated.

Tip: Set a download limit above one. Customers routinely open a file on a phone and then again on a laptop, and a limit of one turns that ordinary behaviour into a support request.

Step 3: Configure The Download Delivery State

The order state for virtual products controls when the download link actually unlocks. Point it at the right state, and digital delivery becomes instant without manual clicks.

Navigate to Shop Parameters > Order Settings and locate the Set the order status to ' delivered ' " option if the product is virtual product. Enable it, then confirm that the chosen status carries the download permission flag under Orders > Statuses.

In a mixed order, this means the PDF line can hand over its file while the physical line stays at Payment accepted and waits for the warehouse. You should now see the digital line marked delivered on orders that still show physical items as unshipped.

Step 4: Split The Order Into Two Fulfilment Journeys

Once the order lands, the goal is a clean split: one journey that ends at a download, and one that ends at a courier label. Keeping them on the same status timeline is what causes double-shipping and confused customers.

Open the order from Orders > Orders and use the status dropdown plus the internal note field to track each half:

  • Send the physical items through your normal picking and dispatch states, adding tracking to the shipment.
  • Leave the digital line in its delivered state so it is visibly closed.
  • Record partial shipments in the note trail rather than changing the whole order status.

You should now see one order with two clearly different progress trails, and a warehouse team that never picks a PDF off a shelf.

Step 5: Apply The Correct Tax Rule Per Line

Tax logic follows the product, not the order. A single cart can legitimately contain a physical book at one rate and a downloadable manual at another, depending on where your customer is and how the digital item is classified in your jurisdiction.

Check International > Taxes and confirm each product carries an appropriate Tax rule group on its Pricing tab. Review the group assigned to the digital SKU separately from the physical one, and verify the invoice breaks both out as distinct lines. You should now see an invoice where each line shows its own rate, which also keeps partial refunds fair.

Step 6: Track Fulfilment Queries Separately From Sales

Mixed carts generate two flavours of support messages: "my parcel has not arrived" and "my download will not open". Routing both into one inbox slows the first and frustrates the second. The PrestaShop Help Desk Module lets you create departments so download issues and delivery issues land with the right team.

Its ticket system, pre-made reply templates and email notifications keep both threads tied to the order, and guest tickets cover buyers who checked out without an account. Pair it with store pickup if some physical lines are collected in person rather than shipped. You should now see mixed cart enquiries resolved from the back office, with the order reference attached to each ticket.

How Do You Handle Physical vs. Digital Fulfilment Differences in One Order?

A mixed cart splits one order into two operational journeys the moment payment clears. The physical line has to be picked, packed and handed to a carrier. The digital line has to be delivered in seconds and, in most PrestaShop setups, has no carrier at all. Treat those as separate workflows with one customer facing the whole thing.

Operational Question Physical Line Digital Line
When is Stock Reserved? On order validation, against the physical product quantity PrestaShop still decrements quantity unless the downloadable product is set up without stock management
When Does Delivery Happen? After the order reaches the Shipped status As soon as payment is accepted and the download link is generated
What Does A Refund Look Like? Partial refund tied to returning the item Partial refund that cannot be "returned" because the file was already downloaded
What VAT Rule Applies? The tax rules for the shipping address Often a separate rule set, with distance selling thresholds applied per line
What Appears on The Customer Email? Carrier name and tracking number No tracking, because nothing ships

One order, two clocks: the digital download should never wait for the parcel to leave your warehouse. Your order states and email templates must reflect that split, or you will get support tickets asking where a file is while the parcel is still being packed.

Set A Separate Cancellation & Refund Rule Per Line

A digital download cannot be "returned" once the customer has opened it. Write the rule into your terms and repeat it on the order confirmation page. For physical items, keep the standard return window. When a customer asks to cancel a mixed order, refund only the lines that have not yet been fulfilled and mark those lines individually in PrestaShop, never the whole order at once.

Fulfilment teams who use PrestaShop Store Pickup for physical collection have an extra edge: the pickup line has its own state, so a digital line can be delivered on payment while the pickup is scheduled for later, without either one blocking the other.

Set The VAT Treatment Before You Ship Anything

Digital goods often attract a different VAT rule set from physical goods, and the two can sit side by side in the same PrestaShop order. Configure a distinct tax rule group for downloadable products so a mixed cart is taxed line by line, not lumped into a single rate. Distance selling thresholds also apply to each line separately, so check your tax configuration per product category rather than once per order.

What To Tell The Customer in The Confirmation Email

Tell the customer two things in the same message: the download link is live now, and the parcel leaves on a stated date. Personalise the order confirmation template with a short note explaining that the digital and physical parts may arrive at different times. 

A simple rule keeps everything coherent: let the slower journey drive the order status, and let the faster journey drive the notification. The customer sees the download immediately and the shipping update only when the parcel is actually on its way, so nothing double-ships and nothing under-delivers.

Troubleshooting Mixed Cart Orders in PrestaShop

Most mixed cart failures trace back to one switch in the wrong position or one status that never moves. Work through the cases below in order, because each fix depends on the order having the correct product type and the correct status.

The usual cause is that the product was saved with the wrong delivery type, as covered in Step 1. Open the product in the back office, check the Product with attached downloadable file option under the Virtual tab, and confirm the file is uploaded rather than just named.

A second common cause is that the payment status never reached the state PrestaShop treats as paid, so the download permission was never granted. Compare the order's status against the state you enabled in Step 3. Once corrected, the customer can regenerate the link from their account order history.

If the Order Sits in A Status that Reflects Only One Shipment

PrestaShop applies a single order status to the whole order, so a part-shipped mixed order can look complete or look stuck. Create a custom order status for partial dispatch, such as "Partially shipped." Apply it manually after the physical lines leave, then move the order to Shipped once the last parcel is dispatched.

Never mark an order Shipped while a digital line is still pending, or the customer may lose the prompt to download. Staff reading the order grid should be able to tell instantly whether something is still owed.

If A Refund Lands on The Wrong Line

Refund the specific line, not the order total. On the order detail screen, open the quantity and refund controls, set the amount against the correct product row, and note why in the internal order note. Refunding the digital item and the physical item in one lump sum breaks the audit trail and can leave stock unadjusted.

If Download Emails Go Out Twice or Stock Drops for Virtual Items

  • Duplicate download emails usually mean two order statuses are both flagged as valid for downloads. Keep one only.
  • Stock dropping for a digital product means the Quantity field is being managed for a product that should have no stock tracking. Disable stock management for that product.
  • Tax looking wrong on a mixed line is almost always a rule problem, not a calculation problem. Check that each product sits in the correct Tax rule group, since a physical item and an ebook rarely share the same rule.

Conclusion

You now have a PrestaShop setup where a mixed cart behaves predictably: the virtual line carries its own file and download limit, the delivery state releases it the moment payment clears, the physical line travels through picking and dispatch on its own timeline, and each line carries the tax rule and refund trail it deserves. That is a clean split, not a single button.

If you sell a mix of downloads and shipped goods and want the support side handled in the same place, start with the PrestaShop Help Desk Module. Create departments for download and delivery issues, build reply templates for the questions that repeat, and let guest tickets cover buyers who checked out without an account.

Frequently Asked Questions

Does A Virtual Product Need Stock Management in PrestaShop?+–
No. A downloadable product has no physical inventory, so leave stock management off for it. If PrestaShop still decrements quantity for the virtual line, check the product's quantity settings and confirm stock tracking is disabled there.
Can I Deliver the Download Before the Parcel Ships?+
Yes, and you should. Once the order reaches the paid state and the virtual delivery state is enabled, PrestaShop releases the download link while the physical line stays at payment accepted until your warehouse dispatches it.
How Do I Refund Only the Digital Item in A Mixed Order?+
Use the partial refund controls on the order detail screen and set the amount against the digital product row only. Never refund the full order total, because that removes the audit trail and can leave physical stock unadjusted.
Why Does My Mixed Order Show Only One Status?+
PrestaShop applies one status to the whole order, so create a custom partial status such as "Partially shipped" and apply it after the physical lines leave. Close the order only when both halves are complete.
Does a Guest Buyer Get Help With A Download Issue?+
That depends on how you handle support. Guest tickets in the help desk module let buyers who checked out without an account raise a query, which keeps download problems traceable even when there is no customer account to attach them to.