Why do I need to collect a customer phone number on every order — and how to enable it on Shopify / WooCommerce
Applies to: Printoteca → Shopify and Printoteca → WooCommerce integrations Audience: Merchants using Printoteca as a Print-on-Demand supplier Severity: Blocking — orders without a phone number cannot be shipped
TL;DR
The courier requires a valid mobile phone number for every shipment. Without it:
- The parcel cannot be picked up by the courier (the AWB is rejected at validation).
- The order stays stuck in Printoteca until the phone number is added manually.
- The customer does not receive SMS notifications about pickup point, delivery slot, or out-for-delivery status.
- The driver cannot call the customer if the address is incomplete or the customer is not home.
By default, both Shopify and WooCommerce make the phone field optional, and many merchants only discover this after their first stuck order. This article shows how to make it mandatory at checkout on each channel.
Printoteca pulls the phone number from the shipping address of the order (and falls back to the billing/contact phone if shipping has none). Make sure at least one of these is captured and is a valid mobile number (10 digits for Romania, E.164 format for international).
Why couriers require a phone number
Romanian and EU couriers (Sameday, FAN Courier, Cargus, DPD, GLS, etc.) treat the phone number as a mandatory AWB field, not an optional one. They use it to:
- Send the tracking SMS with the AWB number and estimated delivery date.
- Notify the time slot the morning of delivery (typically a 2-hour window).
- Let the driver call if the address is hard to find, the buzzer doesn't work, or no one is home.
- Coordinate easybox / locker pickup — the unlock code is sent by SMS to that exact number.
If we submit an AWB with an empty or invalid phone field, the courier's API returns an error and the parcel is not generated.
Shopify — make the phone number required at checkout
Shopify has two separate phone fields and you should configure both.
Step 1 — Require the contact phone (instead of email) OR require both
- Go to Shopify Admin → Settings → Checkout.
- Scroll to the Customer contact method section.
- Select Phone number or email, then check the box "Require the customer to also provide a phone number at checkout" (the exact label may read "Require phone number" depending on your Shopify version).
- Click Save in the top-right corner.
Step 2 — Require the phone field on the shipping address
- Still in Settings → Checkout, scroll down to Customer information.
- Find the row Shipping address phone number.
- Change it from Optional (or Hidden) to Required.
- Click Save.
From now on, customers cannot complete checkout without entering a phone number, and that number flows directly into the order sent to Printoteca.
Step 3 (optional) — Validate the phone format
Shopify does not validate phone numbers by country by default. If you want to block obviously wrong numbers (e.g. 0000000000), install a small checkout validation app from the Shopify App Store (search for "phone validator" or "checkout validation"). This is not required for orders to ship — Printoteca will still try to use what is provided — but it reduces "phone is invalid" support tickets.
WooCommerce — make the shipping phone required at checkout
WooCommerce does require the billing phone by default, but the shipping address has no phone field at all in a standard install. You need to add it explicitly.
Option A — Use a Checkout Field Editor plugin (recommended, no code)
- In WordPress Admin, go to Plugins → Add New.
- Search for "Checkout Field Editor for WooCommerce" (the official Themehigh / WooCommerce.com one is the most widely used; any reputable equivalent works).
- Install and activate the plugin.
- Go to WooCommerce → Checkout Form (the menu name depends on the plugin).
- Open the Shipping tab.
- Click Add Field and configure:
- Type: Phone (or Text)
- Name / Key:
shipping_phone - Label: Phone number
- Required: ✅ Yes
- Position: below the address fields
- Click Save Changes.
Option B — Add a snippet to your theme (for developers)
If you don't want to install a plugin, add this snippet to your child theme's functions.php:
// 1. Add a phone field to the shipping address
add_filter( 'woocommerce_shipping_fields', function( $fields ) {
$fields['shipping_phone'] = array(
'label' => __( 'Phone', 'woocommerce' ),
'required' => true,
'class' => array( 'form-row-wide' ),
'priority' => 100,
'validate' => array( 'phone' ),
);
return $fields;
});
// 2. Make sure it is also required when "Ship to a different address" is unchecked
add_filter( 'woocommerce_billing_fields', function( $fields ) {
if ( isset( $fields['billing_phone'] ) ) {
$fields['billing_phone']['required'] = true;
}
return $fields;
});
Save the file and clear any caching plugin. The phone field will now appear on the shipping address block and be enforced at checkout.
Step C — Verify it appears in the order
- Place a test order on your store.
- Open the order in WooCommerce → Orders → [order].
- Confirm the Shipping block shows the phone number (not just the billing block).
- Re-sync the order to Printoteca, or wait for the next auto-sync, and check that the phone is present in the Printoteca order detail.
What to do for orders already stuck without a phone
If you have orders that came in before you applied the settings above and they are now blocked in Printoteca:
- Contact the customer (by email or by replying to the order confirmation) and ask for a mobile number.
- Open the order in your Shopify / WooCommerce admin and add the phone to the shipping address.
- Re-sync the order to Printoteca, or send us the phone number on the support channel and we will update it on our side.
Once the phone is on the order, we will generate the AWB and the parcel ships normally.
Quick checklist
- ☐ Shopify: Require phone number is checked under Customer contact method.
- ☐ Shopify: Shipping address phone number is set to Required.
- ☐ WooCommerce: a
shipping_phonefield exists and is marked Required (via plugin or snippet). - ☐ WooCommerce:
billing_phoneis required (this is the default — only verify if you previously customized it). - ☐ Test order placed — phone visible on both the storefront checkout and the order detail.
- ☐ Old stuck orders cleaned up by contacting the customer for their number.
After this is in place, no future order should land in Printoteca without a phone — and no parcel should get blocked at courier handoff.
Updated on: 21/05/2026
Thank you!
