The short version
You connect Pirate Ship to Shopify by installing its App Store app, which is free to install and has no monthly fee, so you pay only for USPS or UPS postage as you go.
Paid, unfulfilled orders then appear in its Import grid, but only when every product in the order is on what Pirate Ship calls the Manual fulfillment service.
When you buy a label, Pirate Ship marks the order Fulfilled in Shopify and attaches the tracking number.
It never shows live rates at checkout and sells postage only from US addresses, so your shipping prices stay yours to set in Shopify.
The Quick Verdict
Find your row; the sections below cover the steps in the order you'd do them.
| Your situation | Pick | Why |
|---|---|---|
| You ship your own orders from a US address with USPS or UPS | Connect it | No monthly fee, and imported orders get their Fulfilled status and tracking back in Shopify; UPS labels can't start from US territories |
| Part of your catalog ships through a 3PL or dropshipping app | Connect, and plan for those orders | An order imports only when every product is on Manual, so mixed orders stay out |
| You ship from outside the United States | Skip it | Pirate Ship sells postage only from US addresses |
| You want an app to show live rates at checkout | Not this app | Pirate Ship never displays live rates to Shopify customers |
| You need a carrier Pirate Ship doesn't sell postage for | Look elsewhere | Its postage is USPS and UPS, plus a Simple Export Rate for international parcels that its help says Asendia carries |
Pirate Ship is a label tool for merchants who pack their own orders in the United States: you import Shopify orders, buy USPS or UPS labels in batches, and the order status and tracking number go back to Shopify. The connection itself is an app install, plus a Save Connection click that Pirate Ship's general integrations guide adds. What trips people up is the step after it, because an order reaches Pirate Ship only if it passes a set of filters, and the biggest one depends on how each product is fulfilled.
Ready to set up? Go to the connection steps or the checklist. If your orders already aren't showing up, go straight to which orders import.
The Pirate Ship steps below come from its help center, read on November 4 and 8, 2026: its dashboard sits behind a login we did not use, so we haven't clicked through those screens ourselves. The Shopify screens come from our own development store, as of November 8 and 9, 2026.
What Changes in Your Store After You Connect
Key takeaway
Who does what after you connect
| Job | Where it happens after you connect | What to know |
|---|---|---|
| Buying labels | Pirate Ship | USPS and UPS, from US addresses only |
| Order status | Back in Shopify, automatically | The order is marked Fulfilled when you buy the label (Partially fulfilled until every location has one, for multi-location orders) |
| Tracking number | Back in Shopify, automatically | It is attached to the order |
| Customer email | Shopify, or Pirate Ship if you switch | You choose in Pirate Ship's Shopify settings |
| Checkout rates | Shopify, unchanged | Pirate Ship never shows live rates to customers |
| Cost | Billed by Pirate Ship | $0 a month for the app; you pay for postage, separately from your Shopify invoice |
On cost, Pirate Ship's help says it is 100% free, with no markups, fees, minimums, or hidden costs, and that it makes its money through official partnerships with USPS and UPS. The App Store listing adds that external charges may be billed by Pirate Ship separately from your Shopify invoice, so expect postage on its own line, not on your Shopify bill.
Connecting doesn't give your store labels it lacked. Shopify sells labels in the admin too, at rates discounted through its supported carriers, so the difference comes down to rates and carrier choice. If you haven't settled that yet, our comparison of Shopify Shipping and label apps shows where Pirate Ship fits.
What You Need Before You Connect
Key takeaway
What to have in place
| What you need | Where to check | If you don't have it |
|---|---|---|
| A US ship-from address, shipping with USPS or UPS | Your own shipping setup | Pirate Ship won't work for you: it offers USPS and UPS postage from US addresses only |
| A Pirate Ship account | Pirate Ship | Create one; you can do this without entering payment details |
| A payment method | Pirate Ship settings | You can't buy postage until you add one |
You can set up most of this without paying anything: Pirate Ship says you can do a lot in the account without entering payment information, and asks for a payment method only when you're ready to purchase postage.
We can't tell you which Shopify plans qualify: no Pirate Ship page we have found, as of November 8, 2026, names a Shopify plan requirement (what we read). If your plan worries you, ask Pirate Ship's support before you rely on the connection.
How to Connect Pirate Ship to Shopify
Key takeaway
Pirate Ship's Shopify integration article lists both routes, and either one works. Start in Pirate Ship if you already have the account open; otherwise start from the listing.
Starting in Pirate Ship
In Pirate Ship, go to Settings > Integrations, click Connect New Source and add your Shopify store. Its help says this prompts you to install the app on the Shopify App Store if you haven't already. Its general integrations guide closes the setup with a Save Connection click in Integration Settings; that guide covers every integration, not only Shopify.
Starting in the Shopify App Store
Key takeaway
- Open the Pirate Ship listing on the Shopify App Store. Check the name, Pirate Ship: CheapARR Shipping, and the developer, Pirate Ship, then click Install.
If a link opens the app in your admin before it's installed, Shopify shows You don't have this app installed with the app's card and its own Install button.
- Apps
- Finish in Pirate Ship. Its general guide has you click Save Connection in Integration Settings. We didn't click Install in our store, so this step rests on its help and not on what we saw.
Running more than one store? Pirate Ship says there is no limit to how many websites you have integrated into a single account, and you separate their orders with the Import grid's columns and filters.
Check That Every Product Is on Manual Fulfillment
Key takeaway
This is the rule that decides whether the connection works for your store. Pirate Ship says Manual is Shopify's default, so a store that ships everything itself usually has nothing to change. It starts to matter as soon as a 3PL or a fulfillment app handles part of your catalog, because the test runs on the whole order:
Pirate Ship will only import orders where every product is set to the "Manual" fulfillment service.
Where the Fulfillment Setting Lives
Key takeaway
Pirate Ship's steps are to go to All Products, open the product, scroll to Inventory, and change the Inventory Managed By dropdown to Shopify.
In the admin we checked on November 8, 2026, in one development store, the product's Inventory card had no Inventory Managed By dropdown and showed the product's locations instead. That is one store on one date, so your admin may differ.
Pirate Ship's screenshots of that dropdown show an older Shopify admin layout. Shopify's own help is split here too: its custom fulfillment page names an Inventory will be stocked at drop-down, while its multi-location page has you click Edit locations in the Inventory section. Shopify's developer reference adds that, as of API version 2025-01, a variant's fulfillment service field returns "manual" for every variant except gift cards, and it points to its InventoryLevel resource to see where a variant is stocked.
- Products
- The Compare at Price Snowboard
- Products
- Custom Service Test Item
Read the card by what its Locations column shows:
- Only your own locations: by our reading this product counts as Manual, so there's nothing to change.
- A fulfillment service's location, such as the Custom label and service name in our store: by the same reading this product is on a fulfillment service, so expect orders containing it to stay out of the import.
- Your own location and a service location together: Shopify lets one product be stocked at both and assigns each order to a location by your order routing, so check the location shown in the order's Unfulfilled section.
A product on a fulfillment service is a location question. Shopify's help frames it the same way: if you often fulfill orders yourself, it recommends you stock inventory at a location you control, which lets you "use any app to create fulfillments." That is our reading of two separate pages, so confirm it with one real order before you move stock, and do it only for products you truly ship yourself.
Shopify's steps for moving a product off a fulfillment service location:
- From your Shopify admin, go to Products.
- Click the product that you want to manage.
- In the Inventory section, click Edit locations.
- Deselect the fulfillment service location.
- Select your own location or locations.
- Click Done, and then click Save.
In our development store on November 9, 2026, the pencil icon beside the Inventory card's locations opened a dialog titled Edit inventory locations, which ended with Save and had no separate Done button.
- Products
- Custom Service Test Item
- Edit locations
Shopify adds one limit: "You can't unstock a product from a location that has unfulfilled orders or active inventory transfers for that product."
One more check on the product page: Pirate Ship says the item must be marked as a physical product, in the product's Shipping section, or it won't import.
Orders With a 3PL or Dropshipped Item
Key takeaway
Shopify sets the fulfillment method per product, "so a single order can use different fulfillment methods for different items." Pirate Ship's rule looks at the whole order, so an order that splits neatly in Shopify never reaches its Import grid. Three routes stay open for those orders:
- Buy the label in Shopify. The admin sells labels too, so the items you ship can stay in that flow.
- Create the label by hand in Pirate Ship. That is the fallback its troubleshooting article gives for orders that won't import. Then mark the items you shipped as fulfilled in Shopify and enter the tracking number as you do: Shopify lets you add a tracking number during the fulfillment process or after you fulfill an order.
- Move the items to your own location, if you are shipping them yourself this time. Shopify requires this before you can mark such an order as fulfilled yourself, and changing an order's fulfillment location has its own steps. If the service was asked to fulfill it but hasn't accepted, cancel that request first; if it has accepted, request cancellation and wait for the service to accept before you change the location. We haven't confirmed whether this brings the order into Pirate Ship's grid.
- Orders
- Order details
- Unfulfilled
Keep Automatic Fulfillment Off
Key takeaway
Pirate Ship's Manual fulfillment service is about the product: is it handled by you or by a third party?
Shopify's manual fulfillment in Order processing is about the store: does a new order get marked as fulfilled on its own? You want both on the manual side.
By default, your store uses manual fulfillment, so check this only if someone may have changed it. Shopify's warning is plain: "If you package and ship products yourself, then don't turn on automatic fulfillment. All new orders are marked as fulfilled, which prevents you from sorting them to find the orders that still need to be shipped."
Pirate Ship imports only Unfulfilled orders, so we'd expect those orders to stay out of its grid; that link is our conclusion from the two pages, not something either one states.
- Settings
- General
- Order processing
Which Shopify Orders Show Up in the Import Grid
Key takeaway
Connecting is the first gate; this is the second, and a store can pass one and fail the other. Pirate Ship's troubleshooting article supplies most of the list. Start with the two cheap checks in the grid itself: click Clear All Filters if a filter is on, then Refresh Data, because Pirate Ship otherwise refreshes only periodically.
Import conditions, one row per check
| Condition | Where to check | If it fails |
|---|---|---|
| Fulfillment status is Unfulfilled | Shopify order page | Not imported; change it back to Unfulfilled, then click Refresh Data (refund the label first if you already bought one) |
| Payment status is Paid | Shopify order page | Hidden by default; add other statuses, such as a partial refund, under Settings > Integrations in Pirate Ship |
| Every product is on Manual | Shopify product page, Inventory card | The whole order stays out |
| Every item is marked as a physical product | Shopify product page, Shipping section | The item won't import |
| It's a real order connected to a customer | Shopify order page | Test orders don't import |
| No product in the order was archived or deleted | Shopify Products | Not imported; create the label by hand |
| Tracked items have stock above 0 | Shopify product page, Inventory card | The entire order may not show up |
| With several locations, each variant is in stock at all of them | Shopify product page, Inventory card | Not imported, wherever the order is being fulfilled |
| Item names have no emojis or symbols such as ™ or ® | Shopify order items | The item may not appear in the grid |
| The order has a shipping address | Shopify order page | Add the address to the order |
| No other fulfillment plugin is running, such as Oberlo or AliExpress, Pirate Ship's examples | Your Shopify apps | Pirate Ship calls this the likely reason; try disabling the plugin |
| The order wasn't hidden with Ignore in Pirate Ship | Pirate Ship Import grid, Display ignored orders link | Unignore it to show it back up |
Conditions from Pirate Ship's help center, read November 8, 2026.
- Orders
The two status rows are separate things: Shopify's payment status tracks the money and its fulfillment status tracks shipping. Only the payment filter is yours to widen, and Pirate Ship shows only Paid orders by default.
Still missing after those checks? Create the label by hand in Pirate Ship, then mark the items you shipped as fulfilled in Shopify and enter its tracking number. That is the same route a mixed order takes.
Draft orders and Shopify POS orders are the gap here: no Pirate Ship page we have found, as of November 8, 2026, gives an import rule for them (what we read). If you rely on either, ask Pirate Ship's support before you count on them importing.
Turning an Order Back to Unfulfilled
Key takeaway
Pirate Ship says a Fulfilled order has to be changed back to Unfulfilled in Shopify, followed by a refresh of its import page. In Shopify, that is Cancel fulfillment in the menu of the order's Fulfilled section; Shopify says the status then changes to Unfulfilled.
- Orders
- Order details
- Fulfilled
Already bought a label for that order? Refund it first: the order won't come back into the grid until you do.
Stores With More Than One Location
Key takeaway
- One order, several rows. You'll see the same Order ID once per fulfillment, and a Shopify Location column lets you filter and sort them.
- You can limit the import. Choose specific locations under Settings > Integrations in Pirate Ship.
- Locations aren't ship-from addresses. Pirate Ship warns that its location setting is "not to be confused with your Ship From addresses." Those are set under Settings > Ship From Addresses in Pirate Ship.
- A split order can mean more email. Shopify's page on fulfilling your own orders says a customer "can receive more than one shipping confirmation email for an order that has multiple fulfillments."
Partially Fulfilled Orders: Where Pirate Ship's Articles Disagree
Key takeaway
Does an order that has partly shipped still import? Pirate Ship's help center, read on November 8, 2026, answers that three ways, and two of the answers stand in one article:
- The rest stays in the grid. Its multi-location guide says a label for one location marks the order Partially fulfilled, and both that guide and its troubleshooting article say "only the remaining location fulfillments will be shown in Pirate Ship."
- It won't import. The same troubleshooting article, further down: "Was the order partially fulfilled? If yes, then it won't import to Pirate Ship, and you'll need to create the label manually."
- Change it back first. Its order-status article says a Partially fulfilled order must be manually changed back to Unfulfilled in Shopify before it can be imported.
While the pages disagree, let your own grid decide. Click Refresh Data and look for the rest of the order by its Order ID. If the remaining items are there, buy the label as usual. If they aren't, create that label by hand, then mark those items as fulfilled in Shopify and enter its tracking number.
How to Buy Labels From Imported Orders
Key takeaway
These steps follow Pirate Ship's help; we haven't run them ourselves.
- Click Create New Shipment > Import to open the grid of Unfulfilled orders. (Pirate Ship's general integrations guide calls the button on the Ship page Import from Integrations.)
- Select the orders you want to ship. To see what your customer picked at checkout, click any column header, open Columns and check the Requested Shipping Service column, so you can match the label to it.
- Click Get Rates and choose your service.
- Scroll to the bottom and click the green Buy Labels button to purchase all your labels at once.
Pirate Ship's listing says its labels print on any desktop or label printer. If you pack from a stack of labels, the Field Mapping option under Settings > Integrations > Shopify prints order data, commonly the items or the Order ID, in small text in the corner of each label.
Importing Weights and Customs Details
Key takeaway
Pirate Ship's Override feature is a checkbox you tick after you click Get Rates, and it stays ticked for later shipments until you untick it. It works with Shopify, with two limits worth planning around:
- Same box per batch. Weights can vary, but the package type and dimensions have to match, so make separate batches for each box size.
- Weights come from your products. The total is pulled from the item weights in your store, so Pirate Ship suggests adding some buffer weight for packing materials.
Paying for Postage
Key takeaway
Pirate Ship accepts four payment options: debit or credit card, PayPal, ACH (its recommended choice) and Venmo. Use only cards that belong to you or your business. Your account balance is applied first, and you can change the split with Show Payment Details at checkout.
If your bank starts declining lots of small charges, set a Default Payment Amount of $20, $50, $100, $250, $500 or $1000 under Settings > Payment Method. Your next label then charges that amount instead of its exact cost, and the rest sits in your balance for later labels. If a label costs more than the amount you set, Pirate Ship says you won't be charged that amount.
What Comes Back to Shopify After You Buy
Key takeaway
Pirate Ship says the order is marked Fulfilled and the tracking number attached when you ship through it; on a multi-location order, the order stays Partially fulfilled until every location has its label. Check the first real order yourself. Test orders don't import, so a real sale is the only way to see the whole loop, and if the number didn't come back, you can enter it on the order.
- Orders
- Order details
- Fulfilled
One warning is worth keeping in mind. Pirate Ship's integration article says: "USPS recently updated how external tools access tracking information. Shopify may need its own authorization to continue working." If USPS tracking stops updating in Shopify, raise it with Pirate Ship's support.
Which Tracking Email Your Customer Gets
Key takeaway
The setting sits in Pirate Ship's Shopify settings, and it lets you use Pirate Ship's emails instead of having Shopify send one. Pirate Ship pitches its version on timing: you can schedule it, where it describes Shopify's as "always being sent right when you purchase the postage." If you buy labels the night before you hand parcels over, that gap is the reason to switch.
Pirate Ship's emails go out one hour after you buy postage by default, and you change that under Settings > Tracking Emails. Once the time has passed, it says you can't alter the email time, rescind it or resend it. The recipient also needs an email address on the order.
For the customer's side of tracking, you don't need a separate tracking app for basic tracking: with a tracking number on the order, Shopify's own status page and emails carry it.
What Customers See at Checkout
Key takeaway
Connecting changes nothing your customer sees at checkout, and that is deliberate on Pirate Ship's side. It adds, "What you charge for shipping is up to you."
Pirate Ship never displays live rates to your Shopify customers.
So the rate your customer pays and the label you buy come from two separate places. Shopify gives you three main strategies for what they pay:
- Flat rate. A consistent price you choose, and Shopify says you "need to calculate your shipping fees yourself." Your Pirate Ship label costs are the number to work from.
- Free shipping. You absorb the label cost in your pricing.
- Carrier-calculated shipping. Built-in carrier integrations, such as USPS in the United States, are available on all plans, but those are Shopify's rates and not Pirate Ship's.
Picking between them is its own decision, and our guide to Shopify shipping rates compares the three rate types.
Carriers, Weight and Other Limits
Key takeaway
Pirate Ship's main limits
| Limit | What Pirate Ship's help says | Applies to |
|---|---|---|
| Carriers | USPS and UPS; its international Simple Export Rate is carried by Asendia, per its help | All postage |
| Origin | United States addresses only; not Canada or any other country | All postage |
| UPS discounts | Off Daily Rates, and only for shipments originating in the United States | UPS |
| US territories | No UPS labels originating from territories such as Guam or Puerto Rico | UPS |
| Weight | 70 lb maximum for all domestic services | USPS domestic |
| Label size | 2x7" labels aren't supported | UPS |
From Pirate Ship's help center and home page, read November 8, 2026.
Those limits come from its pages on using it outside the US, carrier availability and the note on its home page. On rates, it says you get Commercial Pricing for all USPS services and discounted UPS rates, no matter how many packages you ship, so low volume doesn't shut you out.
International Orders From Shopify
Key takeaway
- Customs forms are generated for you. Pirate Ship creates them with every international label. Its international services come from USPS and UPS, plus its own Simple Export Rate for lightweight parcels up to 20 lbs, which its help says Asendia carries.
- Harmonization codes are on you. They're required for all international shipments and don't come over from Shopify, which is why Pirate Ship says these shipments are best created manually.
- Hard ceilings. It can't support an international package worth over $2,500 in total ($400 on its Simple Export Rate), and a customs form holds a maximum of 15 line items.
- Destination gaps. As of November 8, 2026, USPS shipments to EU countries where DDP is required are "temporarily unavailable," naming 10 countries: Germany, France, Belgium, Denmark, Finland, Luxembourg, Portugal, Austria, Spain and Sweden. Some other countries aren't accepting USPS shipments, and UPS has suspended some services to others; that list changes, so check it before you promise delivery.
How to Fix a Wrong Label or Address
Key takeaway
Open the label on your Ship page, or its batch first, and click the red Refund Label button. How fast the money returns depends on the carrier and on how quickly you ask.
Label refunds by case
| Case | What happens | Timing |
|---|---|---|
| USPS label, refund requested right away | Most are instant, even after printing | Usually instant |
| USPS label, refund requested later or after a manifest exists | The refund may take the usual processing time | May take 2-4 weeks |
| UPS label | Back to your account balance, printed or not | Within an hour or so |
| Any unused label | Pirate Ship requests the refund for you | 28 days after purchase |
| Package scanned by the carrier | The refund option goes away; the label counts as used | No refund |
Unused labels are handled for you: Pirate Ship requests refunds automatically 28 days after purchase, and the credit goes to your account balance for your next purchase. Don't use a label once you've refunded it, because a refund request can't be cancelled. Pirate Ship lists a carrier scan among the reasons the option disappears.
The refund is also what unlocks a second label, so marking the order Unfulfilled in Shopify isn't enough on its own:
To avoid accidental duplicate shipping, you must request a refund for the label in Pirate Ship before it will reappear in your Import grid, even if you manually mark the order as Unfulfilled in Shopify.
A wrong address is a separate fix. Changing the customer record doesn't change an order already placed, so edit the address on the Shopify order itself, then click Refresh Data on the Import page.
What Happens If You Delete the App
Key takeaway
Pirate Ship's rule is short: "If you delete the app, y'er orders will no longer be imported." Removing an app itself is Shopify's general procedure, on its help page about uninstalling apps.
What happens on Pirate Ship's side is less clear: no Pirate Ship page we have found, as of November 8, 2026, describes disconnecting a Shopify store. Ask Pirate Ship's support before you remove the app.
On November 8, 2026 we read Pirate Ship's Shopify integration articles, its integration-settings collection, its help-center sitemap and search, its home page, its Shopify integration page and its App Store listing for an import rule on draft or POS orders and for a way to disconnect a store. For a Shopify plan requirement we read its integration, import, getting-started and cost articles, its integration-settings collection, its help-center sitemap and search, its home page, its Shopify integration page and its App Store listing. None of them states these, so treat each as unknown rather than as a no.
Your Connection Checklist
Key takeaway
Steps one to six can be done in one sitting. Step seven waits for your first real order, because test orders don't import, so come back to it after that sale.
Connect Pirate Ship to Shopify, step by stepTick each step as you finish it.
Connect Pirate Ship to Shopify, step by step
Tick each step as you finish it.
Make sure you ship from a US address and that USPS or UPS covers your orders.
Before you tick this off
- My ship-from address is in the United States
- USPS or UPS serves my destinations
- I'm fine setting my own shipping prices in Shopify, without live rates from the app
Create the account and add a payment method before you buy your first label.
Before you tick this off
- Account created
- Payment method added: card, PayPal, ACH or Venmo
- Default Payment Amount chosen, if my bank declines small charges
Install Pirate Ship from the App Store or start under Settings > Integrations, and keep the app installed.
Before you tick this off
- Listing checked: Pirate Ship: CheapARR Shipping, by Pirate Ship
- App installed in my Shopify admin
- Connection saved in Pirate Ship's Integration Settings
Open the products you ship yourself and confirm none of them sits on a fulfillment service's location.
Before you tick this off
- Any product on a service location moved with Edit locations, if I ship it myself
- The Inventory card lists only my own locations, with no fulfillment service location
- Each item is marked as a physical product
- Tracked items have stock above 0
Under Settings > General > Order processing, keep Shopify from marking new orders as fulfilled.
Before you tick this off
- Don't fulfill any of the order's line items automatically is selected
- New orders arrive as Unfulfilled
In Pirate Ship's Shopify settings, pick the financial statuses, locations and tracking email you want.
Before you tick this off
- Financial statuses beyond Paid added, if I need them
- Locations limited, if I don't want all of them imported
- Decided whether Shopify or Pirate Ship sends the tracking email
Test orders don't import, so use a real order and confirm the status and tracking return to Shopify.
Before you tick this off
- The order appeared in the Import grid after Refresh Data
- Label bought and printed
- Shopify shows Fulfilled and the tracking number (Partially fulfilled until every location has a label, on a multi-location order)
The Bottom Line
Key takeaway
If you're still deciding, quote the same parcels in Pirate Ship and in Shopify's own labels first. If you've decided, the checklist above is the order to do it in.
Frequently Asked Questions
Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Ecom Store Pro: sets its topics and the rules every AI-written page must pass before publication.
This page was written by AI. Separate AI agents that did not write it check its figures and claims against official sources and test its links and interactive tools. A human editor sets the site's editorial direction, topics and rules and checks that pages are complete and display correctly, but does not check their facts or edit their text. Details may change — always confirm critical data at shopify.com.
Editorial PolicySome links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.
