Guide Overview
With Zest, there are two options for pushing a Child Order into Shopify.
Dollar amounts attached to the Child Order
Dollar amounts not attached to the Child Order
This guide reviews how pushing dollar amounts into Shopify child orders works for:
Direct Ship orders
E-Gift orders
Concierge Orders & Invoices
This guide does not provide an overview of how payments are processed or how money flows through Stripe.
Ecommerce Order Flow
In a traditional ecommerce platform, when a customer makes a purchase, it creates an order.
Parent and Child Order
With Zest, a customer can make one purchase for one item to be delivered to multiple recipients. This creates a Parent Order and Child Order.
Parent order: The order that is placed in Zest with an associated payment transaction.
A customer places one order for multiple recipients. This is documented as one parent order in Zest.
Child order: The per-recipient order that is attached to the Zest Parent Order.
Zest breaks down the customer’s order into individual orders, creating multiple child orders. In the example below, ZBD1002 is the Parent Order and #1002 and #1003 are the Child Orders.
The Child Order is generated and pushed into Shopify, as shown in the example below, with a dollar amounts for:
Product price
Sales tax
Shipping price
Direct Ship Order
When a direct ship gift is purchased, a Parent Order is created in Zest, and the payment is collected in Stripe. Child Orders are generated and pushed into Shopify.
Direct Ship Workflow
Parent Order & Child Order Created in Zest
December 22
10 Child Orders created and attached
$500 recorded in Zest for December
Payment Processed — for 10 gifts in Stripe
$500 recorded in Stripe for December
Child Orders Created in Shopify
December 22 — 10 orders in Shopify, 1 for each gift recipient
$500 recorded (distributed across the child orders) in Shopify for December
E-Gift Order
When an e-gift is purchased, a Parent Order is created in Zest, and the payment is collected in Stripe. The Child Order is not generated and pushed into Shopify until the e-gift is accepted.
E-Gift Accepted Order Creation Workflow
Parent Order & Child Order Created in Zest
December 22
10 Child Orders created and attached
$500 recorded in Zest for December
Payment Processed — for 10 gifts in Stripe
$500 recorded in Stripe for December
E-Gift Accepted Child Order Created
December 22-31 — 8 out of 10 e-gifts were accepted, and 8 Child Orders with dollar amounts were generated and pushed into Shopify
$400 recorded in Shopify for December
E-Gift Accepted Child Order Created
January 2 — The remaining 2 e-gifts were accepted, and 2 Child Orders with dollar amounts were generated and pushed into Shopify
$100 recorded in Shopify for January
Accounting Tip: There would be a discrepancy between when, i.e., month and year, the dollar amount is recorded in Shopify vs. Zest and Stripe. You could reconcile these numbers by using the Sales by Invite report.
Unaccepted E-Gift
If an e-gift remains unaccepted, a Child Order will not be pushed into Shopify.
Accounting Tip: The Unaccepted E-Gifts Revenue report can be used to locate revenue attributed to e-gifts where Child Orders were not pushed into Shopify.
Concierge: Orders & Invoice
A Concierge Order can be configured to consider a discount, shipping cost, and tax in addition to the SKUs/Products added to the order.
A Concierge Order does not require an invoice to be created or a payment to be collected to submit it for processing into Shopify.
When the Concierge Order is submitted for processing, it creates a Child Order(s) in Shopify with the same order line items. See a complete breakdown below of how the Parent Order data points are pushed into Shopify and siloed from the Concierge Invoice (payment).
A Concierge Invoice will match the contents of the Concierge Order by default. But the Concierge Invoice can include custom line items independent of the Concierge Order or its child orders.
Payment for a Concierge Invoice is collected and recorded with Zest and Stripe.
A Concierge Invoice can be created at any time, either before or after an order has been created.
In a Concierge Invoice you can add a line item, like “Rush Fee” for the order. This additional line item is reflected in the Stripe payment record’s total.
No line item or dollar amount for “Rush Fee” would be added to the Parent or Child Order, i.e., the dollar amount between the Zest Concierge Order and Child Order shared with Shopify would be different from what is in Stripe.
Accounting Tip: For the dollar amounts and products/SKUs to match in a Concierge Order, i.e., the Parent and Child Order, and the Concierge Invoice, the products/SKUs must be added to the Concierge Order prior to processing the Concierge Invoice. ****
For example, you need to include a “Rush Fee” cost. You would create an SKU/Product in Shopify for an additional line-item fee and add it as a Product in the Concierge Order.
Consider that in a multiple-recipient order, this line item fee would be added for each recipient or multiplied by “x” number of gift recipients. So a line item like a $100 rush fee would need to be $10 x 10 gift recipients = $100 fee.
How Tax is Applied to Orders
There are three parts to how Zest calculates taxes for your brand.
Sales Tax Nexus
In your Payment Settings in Zest, select which states you have Sales Tax Nexus.
Product Tax Codes
Tax codes are generated by tax software, like Avalara, and attached to products in Shopify.
Destination Address: Billing and Shipping (Recipient) Address
Billing Address: address attached to payment
Shipping Address: address of the recipient
Direct Ship Order Tax Workflow
Customer places a Parent Order with three gift recipients
Zest calculates the tax associated with the three shipping addresses / gift recipient addresses, i.e., based on Nexus requirements, the product’s tax code, and the address of each recipient
Zest provides the tax total to the customer at checkout
Customer checks out, and payment is processed in Stripe
One Parent Order and three Child Orders are created in Zest
There are three Child Orders, one for each recipient, pushed into Shopify with the associated sales tax amount for their address
All Concierge Orders are Direct Ship Orders and follow the same workflow except Step 4, where payment happens via Invoice.
Accounting Tip: Zest Sales and Sales by Invite reports provide tax data associated with Parent and Child Orders. See more below.
E-Gift Accepted Order Tax Workflow
Zest calculates e-gift sales tax based on the customer's billing address because we do not have the recipient’s address to apply sales tax at the time of payment, i.e., when the Parent Order is generated.
Customer places a Parent Order with three gift recipient email addresses
Zest calculates the tax associated with the billing addresses, i.e., based on Nexus requirements
Zest provides the tax total to the customer at checkout
Customer checks out, and payment is processed in Stripe
Gift recipient receives the e-gift and accepts
Child Order generated and pushed into Shopify with some of the following data points:
Tax line item
Product
Gift recipient’s shipping address
Gift recipient’s email address
Gift recipient’s phone number
Accounting Tip: Software tools like Avalara evaluate tax codes and shipping addresses in Shopify to report and remit taxes for your orders. You may see a difference between what was collected (i.e., tax based on the billing address) vs. what is reported in Avalara (i.e., tax based on the recipient’s address in Shopify) for an e-gift Child Order.
The Sales by Invite Report in Zest can help you locate the itemized tax charged to the customer at the time of purchase. This tax itemization is attached to the e-gift Child Order to assist with any reporting needs.
With Zest, your brand has the option to have an info pop-out added to the Tax line item at checkout. See the example above.
Cancellations & Refunds
There are three options for generating refunds and canceling orders, depending on their order type and status. Each will create a refund. Refunds issued in Zest do not flow into Shopify child orders.
Cancel & refund an entire order
Issue a refund
Automatically Refund E-Gift Payment
View the Refund in Reports
Stripe
The refunded amount, the transaction date, and the Zest Parent Order number.
Zest
Sales report provides the Parent Order Refunds amount.
Sales by Invite report provides the Child Order’s Refunded ID and Net refunded amount for Storefront Orders only.
Refund ID is set to an external refund identifier (i.e. a Stripe or Adyen ID).
Net refunded is set to the amount refunded.
Refund ID and Net refund are both only set if the invite was specifically refunded or if the entire order was refunded.
Accounting Tip: The date the refund was issued will not be reflected in the report. Use the Stripe report to reconcile date-based reports.
Shopify
The refund will not appear in Shopify.
The Child Order is not updated to reflect the funded amount.
























