Email: support@wharfly.app
We reply within 24 hours on business days. Please include your store address (your-store.myshopify.com), what you were doing, and what you expected. A screenshot helps.
Wharfly Supply Chain Solutions, or Wharfly, is a brand operated by Hunain Khatri, an individual trading as Wharfly, based in Malaysia. Wharfly is not yet a registered company.
What happens next: Wharfly removes the saved sign in sessions for your store right away. About 48 hours after you uninstall, Shopify sends Wharfly a store data erasure notice, and Wharfly then deletes all the other data it holds for your store. To delete your data sooner while keeping the app, an admin can use Settings, then Delete all data, and type the store address to confirm. CSV export is available beforehand. Changes already made in your Shopify store, such as stock added when you received goods, stay as they are.
Uninstalling starts deletion, as described above. You do not need to do anything else. To have it confirmed, or if you have a question, email support@wharfly.app from an address you use with your store, put “Data deletion request” in the subject and include your store’s .myshopify.com address. We reply within 24 hours on business days. Wharfly does not store Shopify customer personal data: it reads orders only to total the units sold for each product each day, so there is nothing to return or delete for your customers.
Want to look around first? On a new workspace an admin can choose Load sample data. You will see exactly what it creates before anything happens.
Draft demo products, hidden from shoppers and tagged wharfly-demo, plus example suppliers, orders, bills and sales history inside Wharfly. Remove sample data deletes all of it, including the demo products. The option only appears while the workspace is empty, so sample data can never mix with your real records.
Admins: open Settings in the app’s menu and choose Delete all data. You type your store address to confirm. It permanently deletes everything Wharfly holds for your store and cannot be undone. Your Shopify products, orders and customers are not affected. You stay signed in and stay the admin, and other team members go back to the default role the next time they open the app. Uninstalling the app also leads to deletion of your data about 48 hours later.
A supplier bill is required before an order can be shipped or received, so create the bill first. Stock is only received against a shipment, so create a shipment and receive from it. Receiving adds the accepted quantity (received minus rejected) to the location you pick in the receive window. Check that a location is selected, that the product is tracked in Shopify, and that your Shopify staff account may adjust inventory. If an error is shown, nothing was recorded and you can retry safely.
If an approver or admin reverses a receipt, Wharfly removes the same accepted quantity from the same Shopify location again. Open the shipment, or the order’s Shipping tab, find the receipt in the receiving history and choose Reverse receipt, then confirm. The receipt stays in the history, marked reversed, and nothing is posted to your accounts.
A reversal is blocked when fewer units are available at that location than would be removed, for example because some were sold. The message names the product, the location, how many are available and how many are needed, and you adjust the stock in Shopify first. It is also blocked while a rejection from that receipt has a credit status: set it back to Not requested first. Rejections that had not been claimed are voided.
Undo delivery only changes the shipment’s status when nothing was received from it. When stock was received from the shipment, Undo delivery asks first, and then also reverses the receipt and removes those units from Shopify. If Shopify cannot remove the stock, nothing is changed.
An order can have several shipments, each with its own ID (SHP-1001, SHP-1002 and so on), carrier, tracking number and items. Open a shipment from the Shipments page or from the order to see its status, items, receiving history and activity, to mark it delivered, or to receive against it. A shipment can be deleted only while nothing has been received against it. If some units are rejected, they stay outstanding and you can send a replacement shipment for them.
When you receive a shipment and enter rejected or damaged units, each one is listed on the Rejections page with its own number (RJ-1001 and so on), the order, shipment, supplier and product, the units and value, the reason, and a credit status: Not requested, Requested, Credited, Replaced, Written off or Refused by supplier. Approvers and admins can edit the claim details. A replacement shipment for the rejected units marks them Replaced. Credits are tracked here and not yet applied to payables, and nothing is posted to the ledger.
On the Rejections page choose Request credit. Wharfly marks the rejection Requested and opens an email draft to the supplier with the order, shipment, product, units, value and reason. You read it and send it yourself: Wharfly never sends email.
It shows, at unit cost, the value waiting on that supplier: pending or in production, in transit, delivered and awaiting receiving, rejected (by credit status), the open value still to come, and the bills you owe them. Each figure links to the list behind it. The Suppliers page has the same columns, and Home shows the five suppliers with the most value still to come.
Use the search box at the top of the app, or press the slash key to jump to it. Type at least two letters or numbers: a PO number, shipment ID, tracking number, bill number, payment reference, rejection number or claim reference, supplier name or email, or a product name or SKU. Pick a result with the arrow keys and Enter. It searches only your store’s own saved records, and what you type is not stored or logged.
Shopify gives apps the last 60 days of orders by default. Wharfly keeps the daily totals it has read, so history grows over time. We read only quantities and product IDs, never customer details.
Roles are managed on the Team page by admins. Requesters create and submit orders; approvers and admins approve within their limit, receive stock and cancel. The person who created an order cannot approve it, unless it is at or below the self-approval threshold an admin has set, or they are the account owner and the only active user.
Partially paid compares what you have paid with the whole order, not only with its bills. If an order totals $1,000.00 and you have billed and paid $500.00, the other $500.00 has not been billed yet, so the order shows Partially paid and the list says “Paid $500.00 of $1,000.00 · $500.00 not yet billed”. Create a bill for the rest and pay it, and the order shows Paid. A closed order shows Paid once all of its bills are paid. An amount that has not been billed yet is not counted as a payable on the Accounting pages.
The real cost per unit of getting goods to you: (item price + shipping) ÷ number of items. Wharfly shows an estimate as soon as a purchase order has a shipping cost, and uses the actual freight and duty you enter when you receive the goods.
Every list with an Export button downloads the list you are looking at, with its filters applied, as a CSV file: Purchase orders, Shipments, Bills, Payments, Rejections, Suppliers, Demand planning, Team, and the Accounting pages (aging, unpaid invoices, chart of accounts, journal and ledger). Home exports items at risk and upcoming deliveries, an order exports its items, bills and payments, and a supplier exports its purchase orders and linked products. On the lists that show one page at a time (Purchase orders, Shipments, Bills, Rejections and Suppliers) the file holds every row that matches the filters, not only the page on screen.
Wharfly asks for four Shopify permissions, and uses each for one job:
We delete your records only when Shopify’s store data erasure notice arrives, about 48 hours after you uninstall. If you reinstall Wharfly before that, your records are still there and the notice does not erase them. Once the notice has been processed the data is permanently removed and cannot be restored. If you are unsure, email us.
See our privacy policy for exactly what we store and how to delete it.