OpenCart 4

From zero to a shipped parcel on OpenCart 4, install the extension, connect your MyParcel account, import your carriers and send your first label today. Includes quickstart, settings reference, product options, the daily order workflow and a diagnostics table.

In short

The MyParcel extension connects your OpenCart 4 shop to MyParcel. Customers pick a delivery moment or pickup point in the checkout, you export orders and print labels from the OpenCart admin, and Track & Trace is generated automatically. No code needed, everything runs from Extensions in your admin. The extension comes in two parts: a Shipping method (the checkout rate) and a Module (all the settings, carriers and label handling).

Pre-release

The OpenCart 4 extension is currently in pre-release (version 0.2.0). It requires OpenCart 4.1.0.3 or newer and PHP 8.2 or newer. Screens and field names may still change between releases.

Quickstart, your first parcel in 15 minutes

Enough to ship your first real order today. For deeper configuration, see Looking for… below.

  1. Get your API key. Log in to backoffice.myparcel.com, go to Settings → API access and copy your API key.
  2. Install the extension. In OpenCart go to Extensions → Installer and upload the .ocmod.zip package. Then open Extensions → Extensions, install the MyParcel Module and the MyParcel Shipping method, and refresh the modifications cache when prompted.
  3. Enter the API key. Open the MyParcel module settings, paste your API key on the General tab and click Save.
  4. Import your carriers. On the Carriers tab, click Import carrier configuration. Your carriers appear with their available services.
  5. Ship an order. Open Sales → Orders, click the green export button on an order, then the label button to download the PDF.

You're done when you see this

  • The MyParcel module status shows enabled and Test API key confirms the key works
  • Your carriers are listed on the Carriers tab
  • An exported order shows a barcode and a Ready tracking status

Looking for…

What do you want to do?Go to
First-time setupQuickstart
Understand the two plugin parts4 · The two parts explained
Enter or test the API key5 · Settings · General
Set label format and fallback size/weight6 · Settings · Shipment defaults
Turn carriers and services on or off7 · Settings · Carriers
Change what customers see in the checkout8 · Settings · Checkout
Set HS codes for customs9 · Settings · Customs and 10 · Product settings
Export orders and print labels11 · The orders list and 12 · The order detail page
See what a customer experiences13 · The checkout experience
Something isn't working15 · Something isn't working, diagnostics

1 · Preparing your MyParcel account

Before you start in OpenCart, take care of two things in your MyParcel backoffice:

  1. Copy your API key. Log in to backoffice.myparcel.com, go to Settings → API access and copy the key. Keep it private, it grants access to your account.
  2. Activate your carriers. Under Settings → Carriers, make sure the carriers you want to ship with are active on your account. Only active carriers can be imported into the extension later.

2 · Installing the extension

The MyParcel extension is delivered as an OpenCart modification package (.ocmod.zip).

  1. Download the latest myparcel.ocmod.zip from github.com/myparcelnl/opencart4/releases.
  2. In your OpenCart admin go to Extensions → Installer and upload the package.
  3. Go to Extensions → Extensions and choose Modules from the Choose the extension type dropdown. Find MyParcel and click the green install button.
  4. On the same page choose Shipping from the dropdown. Find MyParcel and click install, then open its settings to set the rate, geo zone and status (see 4 · The two parts explained).
  5. When OpenCart asks, refresh the modifications cache (Extensions → Modifications → Refresh).

The Extensions list filtered on Shipping, with MyParcel installed at the top.

3 · Connecting the extension (API key)

Open the MyParcel Module (Extensions → Extensions → Modules → MyParcel, edit button) and go to the General tab.

  1. Set Status to enabled.
  2. Paste your API key.
  3. Leave Environment on Production for live shipping. Use Acceptance (test) only when you are testing against the MyParcel test environment.
  4. Click Save, then click Test API key to confirm the connection.

The General tab with Status, API key, the Test API key button and the Environment selector.

Not connecting?

The most common causes are an extra space pasted with the key, or the key belonging to the wrong environment (a production key with the Environment set to Acceptance, or the other way around).

4 · The two parts explained

Unlike a single all-in-one plugin, MyParcel for OpenCart lives in two places under Extensions. You use both.

  • Shipping method (Extensions → Extensions → Shipping → MyParcel) is what your customer picks and pays for in the checkout. Here you set the Display name shown to customers, the Rate, the Tax Class, the Geo Zone it applies to, its Status and Sort Order.
  • Module (Extensions → Extensions → Modules → MyParcel) is the control centre: API key, carriers, checkout behaviour, customs and label defaults. This is where you spend most of your time.

You can jump between the two with the Shipping settings and Module settings buttons at the top right of each screen.

The MyParcel shipping method: Display name, Rate, Tax Class, Geo Zone, Status and Sort Order.

5 · Settings · General

On the Module → General tab:

SettingWhat it does
StatusTurns the whole MyParcel module on or off.
API keyThe key from your MyParcel backoffice. Use the eye icon to reveal it and Test API key to verify it.
EnvironmentProduction for real shipments (the default), or Acceptance (test) to test against the MyParcel test environment.

6 · Settings · Shipment defaults

These values are used when an order does not carry its own data. On the Shipment defaults tab:

SettingWhat it doesRecommended
Default package typeThe package type used when an order has no delivery option chosen at checkout.Package
Label formatA6 prints one label per page. A4 places labels on a sheet.A6
Label positionPosition on the A4 sheet (1 to 4). Ignored for A6.1
Fallback package sizeLength, width and height in cm, used only when the order's products have no usable dimensions. Some carriers (for example Poste Italiane and InPost) require them.Fill in for parcel-locker carriers
Fallback weightWeight in grams, used only when the order's products have no weight. Leave at 0 to use a technical minimum of 1 g. Some carriers require more, such as UPS (at least 50 g).Leave at 0 unless a carrier needs more

The Shipment defaults tab: default package type, label format, label position, fallback size and fallback weight.

7 · Settings · Carriers

The Carriers tab reflects the carriers that are active on your MyParcel account.

  1. Click Import carrier configuration to fetch your carriers. Save your API key first, capabilities are fetched with the saved key. The screen shows how many carriers were imported and when.
  2. Each carrier has an on/off toggle. Turn on the carriers you want to offer.
  3. Per carrier, enable the Services you want, such as Standard delivery and Pickup locations. Standard delivery and pickup are enabled by default, premium services must be enabled deliberately.

The Carriers tab with the Import carrier configuration button and per-carrier service toggles.

Which carriers appear?

Only carriers that are active on your MyParcel account can be imported. If a carrier is missing, activate it in the backoffice first, then import again.

8 · Settings · Checkout

The Checkout tab controls the MyParcel delivery options widget that customers see. On the Checkout tab:

SettingWhat it does
Delivery optionsShows the MyParcel delivery options widget in the checkout. Turn this off to sell without delivery options.
Show delivery dateLets the customer pick a delivery date.
Delivery days windowNumber of days ahead the customer can choose a delivery date within (0 = widget default).
Drop-off delayDays between the order and hand-off to the carrier (0 = none). Raise it if you need extra time to pack.
Pickup locations viewShow pickup points as a List or a Map.
Allow list/map switchLets the customer switch between the list and map view themselves.
Exclude parcel lockersHides automated parcel lockers from the pickup options.
Compact viewA denser layout for the widget.
Pickup map in pop-upOpens the pickup map in a pop-up instead of inline.

The Checkout tab with the delivery options widget settings.

9 · Settings · Customs

Needed when you ship outside the EU. On the Customs tab:

SettingWhat it does
Product customs fieldsAdds HS code and Country of origin fields to the product editor for customs mapping (see 10 · Product settings).
Default country of originFallback country of origin used for customs mapping when a product has none.
Default HS codeFallback HS (harmonised system) code used for customs mapping when a product has none.

The Customs tab: product customs fields toggle, default country of origin and default HS code.

10 · Product settings

When Product customs fields is enabled, a MyParcel customs section appears at the top of a product's Data tab (Catalog → Products → edit a product → Data).

  • HS code, the harmonised system code for this product.
  • Country of origin, where the product was made.

MyParcel also uses the standard OpenCart Dimensions (L x W x H) and Weight from the same Data tab to calculate the shipment. Fill these in for accurate labels, they fall back to the values from Shipment defaults when empty.

The MyParcel customs section at the top of the product Data tab, with HS code and Country of origin.

11 · The orders list

Open Sales → Orders. The MyParcel extension adds action buttons to each order row:

ButtonWhat it does
Green truckExport the order to MyParcel and create a shipment (a concept shipment).
Blue PDFDownload the shipping label for the newest shipment.
Grey pinShow the pickup location the customer chose, if any.
Shipment / carrier badgeShows how many shipments the order has and the carrier.
Blue eyeOpen the standard OpenCart order detail page.

The toolbar at the top right offers the same actions in bulk for selected orders.

The orders list with the MyParcel export, label, pickup and view buttons per row.

12 · The order detail page

Open an order (the blue eye button). At the top you'll find the MyParcel shipments panel.

  • Every export creates a separate shipment, an order can have several. The toolbar actions use the newest shipment, the actions in the table act on a specific shipment.
  • Each row shows the Shipment number, the Barcode, the Tracking status (for example Not available yet or Ready), the Created time and per-shipment actions to download the label and view the pickup location.

The MyParcel shipments panel on the order detail page, listing each shipment with its barcode and tracking status.

Multiple parcels for one order

Click the export button again to create an extra, independent shipment for the same order, handy when an order ships in more than one box.

13 · The checkout experience

With Delivery options enabled, customers see the MyParcel widget in the checkout after they enter their address. They can choose between the carriers and services you enabled on the Carriers tab.

Depending on the carrier and your settings, a customer can pick:

  • Standard delivery, delivery to the address.
  • Priority delivery or other premium services, when enabled for the carrier.
  • A Pickup location, a nearby pickup point, shown as a list or on a map. Pickup points can carry an Eco-friendly label.

The delivery options in the checkout: carriers with standard delivery, priority delivery and a pickup location.

The customer's choice is passed to the order, so when you export it the correct carrier, service and pickup point are already filled in.

14 · Daily use

A typical shipping day:

  1. Open Sales → Orders and filter on new orders.
  2. Select the orders you want to ship and use the toolbar export button, or export them one by one with the green truck button.
  3. Download the labels (single PDF or in bulk) and print them.
  4. Hand the parcels to the carrier. Track & Trace is generated automatically and, where supported, shared with your customer.

15 · Something isn't working, diagnostics

SymptomLikely cause and fix
Test API key failsWrong or mistyped key, or the Environment does not match the key. Re-copy the key from the backoffice and check Production vs Acceptance.
No carriers on the Carriers tabSave the API key first, then click Import carrier configuration. If a carrier is still missing, activate it in the MyParcel backoffice.
No delivery options in the checkoutThe Delivery options toggle is off, the MyParcel Shipping method is disabled or outside its Geo Zone, or no carrier/service is enabled.
Export fails for a carrier that needs dimensionsSome carriers (Poste Italiane, InPost) need a package size. Fill in the product dimensions or a Fallback package size.
Label button does nothingThe shipment has no barcode yet (tracking shows Not available yet). Wait a moment and refresh, or re-export.
Settings or buttons look outdated after an updateRefresh the modifications cache under Extensions → Modifications → Refresh.

16 · FAQ

Do I need both the Module and the Shipping method? Yes. The Shipping method is the rate customers pick in the checkout, the Module holds the API key, carriers and label handling. Install and enable both.

Where do I set the shipping price? On the MyParcel Shipping method (Extensions → Extensions → Shipping → MyParcel), in the Rate field.

Can one order have more than one parcel? Yes. Each export creates a separate, independent shipment. Export again to add another parcel to the same order.

Do I have to enter weights and sizes per product? It helps accuracy. When a product has no weight or dimensions, MyParcel uses the Fallback weight and Fallback package size from Shipment defaults. Some carriers require real dimensions.

Is my customer's pickup choice kept? Yes. The pickup point a customer selects in the checkout is stored on the order and used when you export it.