Etsy is a trademark of Etsy, Inc. This content is not created or endorsed by Etsy, Inc. Automate Your Hours is independent and not affiliated with Etsy.
Packing Sheet from Order Line Items for Etsy Sellers with Make
Each new order becomes one Sheet row per item: SKU, quantity, title, personalization, gift flag and order number. Filter "not packed yet" for today's list. Address columns are off by default; delete rows once an order ships.
Not yet tested · planned: mock-tested. Steps and numbers may change after testing.
At a glance
- Who it's for
- Sellers who make to order (personalized or custom items) and build a daily packing or production list.
- The task
- Re-opening each order to copy items and personalization into a packing list.
- Tools & cost
- Make: Free plan[price-check] (1,000 credits a month[price-check]; 15-minute minimum interval[price-check]; appears to allow 2 active scenarios, community-forum report) (Paid plans[price-check]) · checked[price-check]
Credits: Estimated: every 6 hours ≈ 320 credits/mo (120 checks + about 87 Iterator runs + about 113 packing rows); every 2 hours ≈ 560/mo. Every 15 minutes ≈ 3,080/mo, over Make Free.
Free plan: likely enough at the recommended schedule (estimate, see credit table) - Google Sheets: Free with a Google account[price-check] · checked[price-check]
Free with a Google account
- Make: Free plan[price-check] (1,000 credits a month[price-check]; 15-minute minimum interval[price-check]; appears to allow 2 active scenarios, community-forum report) (Paid plans[price-check]) · checked[price-check]
- Recommended schedule
- Every 2 to 6 hours (6 is cheapest). One switched-on scenario, or share the order log's.
- Setup time
- ~25 min (estimate)
- What you copy/install
- Make blueprint (live scenario; switch on only this one): ETSY-015.blueprint.json[LINK: /downloads/ETSY-015.blueprint.json]
- Practice scenario blueprint (Run once only; never switch on): ETSY-015-practice.blueprint.json (download) Draft, not tested
- Packing Sheet template with a 'packed' checkbox column (address columns off by default): ETSY-015-template.xlsx[LINK: /downloads/ETSY-015-template.xlsx]
- Sample order files (made-up data): 1 item, sample-shop-receipt-v3.json (download); 2 items, sample-shop-receipt-v3-2items.json (download) Draft, not tested
- Connections in Make: your Google account and your Etsy shop
- What success looks like
- The 1-item sample adds 1 row with SKU, quantity, title and personalization ("Alex"); address columns stay empty. Filtering packed = false shows today's work.
- Last tested
- Not yet tested (intended: mock-tested)
- Time saved
- ≈ 40 min/week Estimated (assumptions below)
Time saved: ≈ 40 min/week (Estimated)
Assumptions:
- 20 orders a week × about 2 minutes to copy items and personalization into a packing list = 40 minutes. Making, packing and shipping labels stay manual and aren't counted. Fewer orders, smaller saving.
Not timed yet. This becomes Measured only after an agent times the manual baseline (3+ runs, median) and the automated run from Make's log.
Method: How we test: time saved
Make budget (Estimated)
| Schedule | every 6 hours (up to every 2 hours) |
|---|---|
| Checking credits / month | 120 (every 6 h) / 360 (every 2 h) |
| Work credits / month | about 200 |
| Total credits / month | about 320 (every 6 h) / about 560 (every 2 h) |
| Switched-on scenarios | 1 (or none extra if shared with ETSY-013 through a Router; practice scenario is Run once only) |
Assumptions:
- 20 orders a week ≈ 87 a month, about 1.3 items per order ≈ 113 packing rows
- Watch Shop Receipts uses 1 credit per check, even with no new orders
- Iterator counted as 1 credit per order (conservative); Add a Row 1 per item
Downloads
- ETSY-015-practice.blueprint.json Draft, not tested
- sample-shop-receipt-v3-2items.json Draft, not tested
- sample-shop-receipt-v3.json sample data (made up)
- [LINK: /downloads/ETSY-015.blueprint.json] live-scenario blueprint not built yet
What it does
Picks up each new order (live: Watch Shop Receipts; practice: the sample file, in a separate scenario you never switch on), goes through its items one by one, and adds one packing row per item, with personalization when the buyer gave some.
What it does not do
- Mark orders shipped or submit tracking. (A separate recipe uses Submit Tracking Info, and Etsy emails the buyer.)
- Send the packing list, or anything, to the buyer.
- Make up customs or tariff codes.
- Copy street addresses. Name and location columns are off by default.
- Feed any email tool or mailing list.
What you copy or install
The blueprints, template and connections in the box above. Both sample files are made-up data shaped like a real Etsy order (every name, address and ID is invented). The 2-item sample is one order with a test ceramic planter (quantity 2, color Sage) and a test name keychain (quantity 1, personalization "Riley"), and should add exactly 2 rows.
Make modules (exact names):
- Etsy: Watch Shop Receipts
- Iterator (goes through the order's items)
- Google Sheets: Add a Row
- Webhooks: Custom webhook (practice run)
Setup steps
- Copy the template. Leave address columns off. Share it only with the people who pack, and protect the data columns so only "packed" can be ticked.
- Build the practice scenario: Custom webhook → Iterator (on the order's items) → Add a Row. Leave it switched off.
- Click Run once; the Custom webhook module waits. Send the 1-item sample (as JSON): expect one row. Send the 2-item sample sample-shop-receipt-v3-2items.json: expect two rows, the planter (quantity 2, Sage) and the keychain (quantity 1, "Riley"). If you change the sample or add columns, click Detect new values on the webhook step (it re-learns the fields; older guides say "Redetermine data structure") and send the sample again (apps.make.com/gateway). To repeat without re-sending, use Run with existing data (help.make.com/scenario-run-replay). Each scenario needs its own webhook.
- Delete the practice rows.
- Build the live scenario: Watch Shop Receipts → same Iterator → same Add a Row. Using the order log too? Add this as a Router route in that scenario instead.
- Schedule every 6 hours (or as often as every 2) and switch on only the live scenario.
- Each week, delete rows for shipped orders.
| Column | Comes from |
|---|---|
| receipt_id · transaction_id | the order · the item |
| title · sku · quantity | the item's title · sku · quantity |
| personalization | the item's personalization formatted_value, joined |
| is_gift | the order's is_gift |
| gift_message | the order's gift message (internal only; never emailed out) |
| packed | your checkbox |
Optional, off by default (only if you need it to pack; may be empty): ship_to_name (recipient name) and ship_city / ship_state / ship_country (address fields).
What success looks like
- After the 1-item practice run: exactly 1 row.
- Address columns are empty.
- Personalization shows "Alex" for the sample item.
- Filter packed = false: only items you haven't ticked.
Test evidence
Status: Not yet tested. Planned: mock-tested. Etsy has no sandbox and sellers can't buy from their own shop, so order recipes are tested on a sample order modeled on Etsy Open API v3 ShopReceipt, with nested transactions and their variations (formatted_name / formatted_value; schema).
It passes when: the 1-item sample adds 1 matching row; the 2-item sample (made-up: planter × 2, keychain × 1 personalized "Riley") adds exactly 2 rows (the Iterator works); personalization fills from the variations ("Alex"); no module contacts buyers; address columns stay empty by default; and the practice scenario is off (one active scenario only).
Once it passes, this page will say: "Tested on sample order data; your first real order is the live run."[TEST LOG: add the log summary and date once the PASS log exists.] No purchases are made for testing.
Tools & cost
| Tool | Free option | Paid (for reference) | Needed for this recipe | Checked |
|---|---|---|---|---|
| Make | Free plan[price-check] | Paid plans[price-check] | Free plan: likely enough at the recommended schedule (estimate, see credit table): every 2–6 hours at about 20 orders a week, about 320–560 credits a month | [price-check] (make.com/en/pricing) |
| Google Sheets | Free with a Google account[price-check] | — | Free | [price-check] |
Make credit math (Estimated)
| Schedule | Checking | Work | Total a month | Fits Make Free? |
|---|---|---|---|---|
| Every 6 hours, recommended | 120 | about 200 | about 320 | Yes |
| Every 2 hours | 360 | about 200 | about 560 | Yes, little room for others |
| Every hour | 720 | about 200 | about 920 | Barely; nothing left for others |
| Every 15 minutes | 2,880 | about 200 | about 3,080 | No |
| Every 6 hours, shared with the order log | 120 | about 290 | about 410 (both recipes) | Yes, one active slot |
Assumes 20 orders a week (about 87 a month), about 1.3 items each (about 113 rows). Watch Shop Receipts uses 1 credit per check, even with no orders; we count the Iterator as 1 per order to be safe; Add a Row 1 per item; the Router assumed free. Estimates until the test log measures them.
Make Free limits (read before you switch anything on)
- 1,000 credits a month[price-check], and no scenario runs more often than every 15 minutes[price-check] (make.com/en/pricing).
- Checking costs credits even when nothing is new. Each scheduled run uses 1 credit for its first step, even an empty "check run" (help.make.com/operations). Checking alone: every 15 minutes ≈ 2,880 a month · hourly ≈ 720 · every 6 hours ≈ 120 · once a day ≈ 30 (Make's examples), plus the real work.
- Probably only 2 switched-on scenarios, according to a Make community forum report (community.make.com), not a Make pricing or help page. Plan for 2 until your account shows otherwise.
- To stay within them: run on-demand recipes (listing drafts, SEO audit) with Run once and leave them switched off (no active slot). Switch on 2 scheduled scenarios at most. The order log and packing sheet can share one scenario (one Watch Shop Receipts trigger, a Router, one route per Sheet: one slot, one checking cost). After week one, check credits used in Make and adjust.
Personal data rules (this recipe holds the most)
The Sheet can hold recipient names, locations and gift messages. That's allowed for packing, but outside Etsy you're responsible for it (Etsy's Seller Policy). Keep only what you need.
- Address columns are off by default.
ship_to_name,ship_city,ship_stateandship_countrystay empty; match packages byreceipt_idand Etsy's shipping label. Street addresses are never copied. Turn a column on only if you truly need it. - Delete rows once an order ships: weekly, filter
packed = trueand delete (or anything older than 30 days). - Share only with the people who pack. Never publicly or "anyone with the link."
- Never load it into an email tool (Kit, Mailchimp, Gmail mail merge or similar), or use it to contact buyers.
- Delete a buyer's rows if they ask. Selling to EU or UK buyers? You may need your own privacy policy.
Sharing a scenario with the order log
Using the order log recipe too? Don't build a second order scenario: one Watch Shop Receipts → Router → route 1 the order-log row, route 2 this recipe's Iterator and packing rows. One slot, one checking cost (about 410 credits a month for both every 6 hours, Estimated). A scenario has only one trigger (help.make.com/types-of-modules), so the practice run stays separate: Run once only, never switched on.
What can go wrong
| Symptom | Likely cause | Fix |
|---|---|---|
| One row for a multi-item order | Iterator not pointed at the order's items (transactions) | Point it at the transactions array |
| Personalization blank | Wrong variation field mapped | Map formatted_value from the variations |
| Address columns empty | Off by default (some fields can be empty by region or partnership) | Expected; match by receipt_id and use Etsy's shipping label flow |
| More credits than expected | Checking too often (each check costs a credit, even with no orders), plus 1 Iterator run per order and 1 row per item | Check every 2 to 6 hours; share one scenario with the order log via a Router |
| Sheet shared too widely | It holds recipient names and gift messages | Share only with packers; never publish it or load it into an email tool |
| Old orders pile up | Rows not deleted after shipping | Weekly, delete rows marked packed (or older than 30 days) |
Something else broke?[LINK: Report a break form for ETSY-015]
Seller-policy-safe ✓
A fulfilment aid for you; it doesn't contact buyers. Gift messages stay in your private Sheet and are deleted with the row once the order ships. Address columns are off by default; if you turn them on, they're for packing only, never marketing lists or email tools. Share only with the people who pack (see "Personal data rules").
{{REPORT_BREAK_FORM}}. Broken recipes flip to red until re-tested.Affiliate disclosure
Affiliate link placeholders (not live): Make: {{AFFILIATE_MAKE}}
Disclosure: Automate Your Hours may earn a commission at no extra cost to you. See Disclosures.
Related recipes
- Etsy sellersNot yet tested
New-Order Log in Google Sheets for Etsy Sellers with Make
≈ 30 min/weekEstimatedMake Free: about 210 of 1,000 credits a month (estimate, if run alone)
Planned: mock-testedSeller-policy-safe ✓
Next step
This recipe is Lesson 6 of 6 of the free starter series for Etsy sellers.
Get the free Etsy starter series
Unsubscribe any time.
Get the free Etsy starter series. Newsletter form placeholder. Kit form {{KIT_FORM_ETSY_RECIPE}} goes here after Kit is set up (tags: ayh, hub:etsy, source:recipe-page, interest:orders). No form is live yet.