> Affiliate attribution, Stripe and PayPal options, tax lookup, and finance records.

Source: https://plandalf.com/stacks/affiliate-tax-launch

[Integrations](https://plandalf.com/integrations)

The Affiliate Tax Launch

**Tools in this stack**[Next.js](https://plandalf.com/platforms/nextjs)[Stripe](https://plandalf.com/platforms/stripe)[PayPal](https://plandalf.com/platforms/paypal)[Tolt](https://plandalf.com/platforms/tolt)[TaxJar](https://plandalf.com/platforms/taxjar)[Avalara](https://plandalf.com/platforms/avalara)

Builder resource

# The Affiliate Tax Launch

Affiliate attribution, [Stripe](https://plandalf.com/platforms/stripe) and [PayPal](https://plandalf.com/platforms/paypal) options, [tax](https://plandalf.com/platforms/tax) lookup, and finance records.

Connect affiliate sales, [payment options](https://plandalf.com/products/checkouts/payment-options), live [tax](https://plandalf.com/platforms/tax) calculation, and post-purchase reconciliation.

[Next.js](https://plandalf.com/platforms/nextjs) hosts the launch page, Plandalf tracks affiliate and [payment](https://plandalf.com/products/checkouts/payment-options) context, [Stripe](https://plandalf.com/platforms/stripe) and [PayPal](https://plandalf.com/platforms/paypal) cover [payment](https://plandalf.com/products/checkouts/payment-options) preferences, [TaxJar](https://plandalf.com/platforms/taxjar) and [Avalara](https://plandalf.com/platforms/avalara) represent [tax](https://plandalf.com/platforms/tax) lookup paths, and [Tolt](https://plandalf.com/platforms/tolt) receives affiliate sale attribution.

**Built for:** Launch teams selling through partners, affiliates, and international [payment](https://plandalf.com/products/checkouts/payment-options) preferences

This page is the builder map: patterns, responsibilities, recipes, and [product](https://plandalf.com/products/checkouts) decisions for adding Plandalf to this commerce stack.

[

![The Numi tax settings screen showing tax configuration.](https://plandalf.com/images/features/tax/tax-settings-product.png)


](https://plandalf.com/platforms/tax)

[Tax](https://plandalf.com/platforms/tax) settings keep [checkout](https://plandalf.com/products/checkouts/hosted-checkout) totals and post-purchase records connected to the stack.

[

![The Numi offer settings payment controls showing checkout payment configuration.](https://plandalf.com/images/features/payment-options/offer-settings-controls-product.png)


](https://plandalf.com/products/checkouts/payment-options)

[Payment options](https://plandalf.com/products/checkouts/payment-options) belong beside the [offer](https://plandalf.com/products/checkouts), so the seller can review [checkout](https://plandalf.com/products/checkouts/hosted-checkout) methods before launch.

## Architecture

Treat [Plandalf Offers](https://plandalf.com/products/checkouts) as the commerce layer between the sales page, the buying moment, and the [payment processor](https://plandalf.com/products/checkouts/payment-options). Your stack owns the audience and fulfilment experience. Plandalf owns [offer configuration](https://plandalf.com/products/checkouts), [checkout state](https://plandalf.com/products/checkouts/hosted-checkout), [pricing rules](https://plandalf.com/products/checkouts/payment-options), [buyer identity](https://plandalf.com/docs/sdk/identity), [invoices](https://plandalf.com/products/checkouts/invoices), and the [events](https://plandalf.com/docs/api/webhooks) that drive follow-up.

[Site**Next.js**_Buyer clicks the CTA on your page._](https://plandalf.com/platforms/nextjs)[Checkout**Plandalf**_Buyer follows the offer link._](https://plandalf.com/products/checkouts)[Tax**TaxJar**_Checkout needs a live total._](https://plandalf.com/platforms/taxjar)[Payment**Stripe**_Buyer submits payment in Plandalf._](https://plandalf.com/platforms/stripe)[Automation**Tolt**_The same Plandalf purchase event fires._](https://plandalf.com/platforms/tolt)[Automation**Avalara**_The same Plandalf purchase event fires._](https://plandalf.com/platforms/avalara)

StageSystemHandoff

Site[Next.js](https://plandalf.com/platforms/nextjs)Plandalf opens from that page with the selected [offer context](https://plandalf.com/products/checkouts).

Checkout[Plandalf](https://plandalf.com/products/checkouts)Plandalf validates the [offer](https://plandalf.com/products/checkouts), applies [pricing](https://plandalf.com/products/checkouts/payment-options) logic, and emits [checkout events](https://plandalf.com/docs/api/webhooks).

Tax[TaxJar](https://plandalf.com/platforms/taxjar)Plandalf [Automation](https://plandalf.com/products/automations/purchase-automations) asks [TaxJar](https://plandalf.com/platforms/taxjar) for the [tax](https://plandalf.com/platforms/tax) result and writes it back to the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) total.

Payment[Stripe](https://plandalf.com/platforms/stripe)Plandalf sends the [payment request](https://plandalf.com/products/checkouts/payment-options) to [Stripe](https://plandalf.com/platforms/stripe), then records the completed [purchase event](https://plandalf.com/docs/api/webhooks).

Automation[Tolt](https://plandalf.com/platforms/tolt)Plandalf [Automation](https://plandalf.com/products/automations/purchase-automations) sends the event payload to [Tolt](https://plandalf.com/platforms/tolt).

Automation[Avalara](https://plandalf.com/platforms/avalara)Plandalf [Automation](https://plandalf.com/products/automations/purchase-automations) sends the event payload to [Avalara](https://plandalf.com/platforms/avalara).

## How This Stack Makes The Sale Work

The Affiliate [Tax](https://plandalf.com/platforms/tax) Launch is useful when each tool has a clear job: the audience surface creates intent, Plandalf turns that intent into a configured [offer](https://plandalf.com/products/checkouts), [Stripe](https://plandalf.com/platforms/stripe) collects [payment](https://plandalf.com/products/checkouts/payment-options), and the follow-up tools receive the purchase context they need.

### Where the [buyer](https://plandalf.com/docs/sdk/identity) starts

[Next.js](https://plandalf.com/platforms/nextjs) owns the attention layer. Keep the editorial page, newsletter block, landing page, or [product](https://plandalf.com/products/checkouts) screen focused on why the [buyer](https://plandalf.com/docs/sdk/identity) should act, then hand the buying decision to [Plandalf Offers](https://plandalf.com/products/checkouts).

[Next.js](https://plandalf.com/platforms/nextjs)[Offers](https://plandalf.com/products/checkouts)[Buy button](https://plandalf.com/products/checkouts/hosted-checkout)

### What the [buyer](https://plandalf.com/docs/sdk/identity) is purchasing

Plandalf should own the [offer](https://plandalf.com/products/checkouts), [products](https://plandalf.com/products/checkouts), [prices](https://plandalf.com/products/checkouts/payment-options), [checkout](https://plandalf.com/products/checkouts/hosted-checkout) mode, [coupons](https://plandalf.com/products/checkouts/coupons), [order bumps](https://plandalf.com/products/checkouts/order-bumps), [upsells](https://plandalf.com/products/checkouts/upsells), [invoice](https://plandalf.com/products/checkouts/invoices) settings, and confirmation behavior so [Stripe](https://plandalf.com/platforms/stripe) is not the only durable record.

[Products](https://plandalf.com/products/checkouts)[Prices](https://plandalf.com/products/checkouts/payment-options)[Coupons](https://plandalf.com/products/checkouts/coupons)[Invoices](https://plandalf.com/products/checkouts/invoices)[Stripe](https://plandalf.com/platforms/stripe)

### What happens after [payment](https://plandalf.com/products/checkouts/payment-options)

The [purchase event](https://plandalf.com/docs/api/webhooks) should drive fulfilment, receipts, lifecycle email, CRM updates, [tax](https://plandalf.com/platforms/tax) context, and reporting. [Tolt](https://plandalf.com/platforms/tolt), [TaxJar](https://plandalf.com/platforms/taxjar) should receive commerce context instead of a bare form submission.

[Automations](https://plandalf.com/products/automations)[Sequences](https://plandalf.com/products/automations)[Tolt](https://plandalf.com/platforms/tolt)[TaxJar](https://plandalf.com/platforms/taxjar)

## Choose The Pattern

Start by deciding which business moment you are building. The stack changes depending on whether [checkout](https://plandalf.com/products/checkouts/hosted-checkout) starts from a sales page, a launch campaign, an [offer page](https://plandalf.com/products/checkouts), a [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [template](https://plandalf.com/templates), or an existing [product](https://plandalf.com/products/checkouts) catalog.

### Sell from Next.js

**Use when:** [Next.js](https://plandalf.com/platforms/nextjs) already owns the audience, post, landing page, or storefront moment and only needs the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) layer to open at the right time.

**Build:** Place the hosted page trigger beside the buying copy, point it at a Plandalf [offer](https://plandalf.com/products/checkouts), and keep [products](https://plandalf.com/products/checkouts), [prices](https://plandalf.com/products/checkouts/payment-options), [coupons](https://plandalf.com/products/checkouts/coupons), [invoices](https://plandalf.com/products/checkouts/invoices), and [automations](https://plandalf.com/products/automations) inside the [offer](https://plandalf.com/products/checkouts) record.

[Next.js](https://plandalf.com/platforms/nextjs)[Offers](https://plandalf.com/products/checkouts)[Hosted checkout](https://plandalf.com/products/checkouts/hosted-checkout)[Checkout templates](https://plandalf.com/templates)

### Package the commercial object

**Use when:** The business needs a clean [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), bundle, cohort, download, membership, or service package before traffic reaches [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

**Build:** Create the [product](https://plandalf.com/products/checkouts) and [price](https://plandalf.com/products/checkouts/payment-options), attach conversion controls such as [coupons](https://plandalf.com/products/checkouts/coupons), [order bumps](https://plandalf.com/products/checkouts/order-bumps), and [upsells](https://plandalf.com/products/checkouts/upsells), then make sure the [invoice](https://plandalf.com/products/checkouts/invoices) and fulfilment event carry the same line-item context.

[Products](https://plandalf.com/products/checkouts)[Prices](https://plandalf.com/products/checkouts/payment-options)[Coupons](https://plandalf.com/products/checkouts/coupons)[Order bumps](https://plandalf.com/products/checkouts/order-bumps)[Upsells](https://plandalf.com/products/checkouts/upsells)

### Route the work after purchase

**Use when:** The [checkout](https://plandalf.com/products/checkouts/hosted-checkout) is only useful if the [buyer](https://plandalf.com/docs/sdk/identity) gets access, receives the right receipt, lands in the correct [sequence](https://plandalf.com/products/automations), and leaves a durable record for support.

**Build:** Use [Plandalf Automations](https://plandalf.com/products/automations) and [sequences](https://plandalf.com/products/automations) to send the [purchase event](https://plandalf.com/docs/api/webhooks) into [Tolt](https://plandalf.com/platforms/tolt), [TaxJar](https://plandalf.com/platforms/taxjar), while [payment](https://plandalf.com/products/checkouts/payment-options) stays with [Stripe](https://plandalf.com/platforms/stripe).

[Automations](https://plandalf.com/products/automations)[Sequences](https://plandalf.com/products/automations)[Tolt](https://plandalf.com/platforms/tolt)[Invoices](https://plandalf.com/products/checkouts/invoices)

## Build The Offer Layer

The [offer](https://plandalf.com/products/checkouts) is the commercial object your [product](https://plandalf.com/products/checkouts) points at. It should describe what the [buyer](https://plandalf.com/docs/sdk/identity) can purchase, how [checkout](https://plandalf.com/products/checkouts/hosted-checkout) appears, which [price](https://plandalf.com/products/checkouts/payment-options) rules apply, what [invoice](https://plandalf.com/products/checkouts/invoices) gets recorded, and what [automation](https://plandalf.com/products/automations/purchase-automations) happens after purchase.

-   Use a stable [offer](https://plandalf.com/products/checkouts) for each plan, [product](https://plandalf.com/products/checkouts), [template](https://plandalf.com/templates), package, or upgrade path.
-   Attach [products](https://plandalf.com/products/checkouts) and [prices](https://plandalf.com/products/checkouts/payment-options) before you wire the buying moment into the app.
-   Set [invoice](https://plandalf.com/products/checkouts/invoices), [automation](https://plandalf.com/products/automations/purchase-automations), [coupon](https://plandalf.com/products/checkouts/coupons), [bump](https://plandalf.com/products/checkouts/order-bumps), [upsell](https://plandalf.com/products/checkouts/upsells), and confirmation behavior where the seller can inspect it.

![The Numi offer editor with layout, product, theme, automation, invoice, and settings controls.](https://plandalf.com/images/stacks/api-first/numi-offer-editor.png)

The [offer](https://plandalf.com/products/checkouts) editor is where the [checkout surface](https://plandalf.com/products/checkouts/hosted-checkout), [products](https://plandalf.com/products/checkouts), [automation](https://plandalf.com/products/automations/purchase-automations), [invoices](https://plandalf.com/products/checkouts/invoices), and display mode come together.

## Wire The Buying Moment

The stack should decide when the [buyer](https://plandalf.com/docs/sdk/identity) is ready. Plandalf should decide what the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) means. Keep the page, campaign, or [offer](https://plandalf.com/products/checkouts) focused on the buying moment, then let the [offer](https://plandalf.com/products/checkouts) carry the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) mode, [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), [invoice](https://plandalf.com/products/checkouts/invoices), and [automation](https://plandalf.com/products/automations/purchase-automations) context.

**On the offer page**Use for [hosted checkout pages](https://plandalf.com/products/checkouts/hosted-checkout), launch pages, [pricing](https://plandalf.com/products/checkouts/payment-options) pages, and [checkout templates](https://plandalf.com/templates).

**Inside the campaign**Use for [coupons](https://plandalf.com/products/checkouts/coupons), deadline funnels, [order bumps](https://plandalf.com/products/checkouts/order-bumps), [upsells](https://plandalf.com/products/checkouts/upsells), [save offers](https://plandalf.com/docs/offers/save-offers), and lifecycle [sequences](https://plandalf.com/products/automations).

**After purchase**Use when fulfilment, [invoices](https://plandalf.com/products/checkouts/invoices), receipts, CRM updates, [tax](https://plandalf.com/platforms/tax) context, or email follow-up need the same [purchase event](https://plandalf.com/docs/api/webhooks).

[![The Numi tax settings screen showing tax configuration.](https://plandalf.com/images/features/tax/tax-settings-product.png)](https://plandalf.com/platforms/tax)

[Tax](https://plandalf.com/platforms/tax) settings keep [checkout](https://plandalf.com/products/checkouts/hosted-checkout) totals and post-purchase records connected to the stack.

## Plan The Data Contract

The useful part of a commerce stack is not the button. It is the agreement between the [offer](https://plandalf.com/products/checkouts), Plandalf, the [payment processor](https://plandalf.com/products/checkouts/payment-options), and follow-up tools about which object owns each piece of commerce state.

ObjectPrimary ownerHow Plandalf uses it

[Customer](https://plandalf.com/docs/sdk/identity)Your appReceives identity and [buyer](https://plandalf.com/docs/sdk/identity) fields so [checkout](https://plandalf.com/products/checkouts/hosted-checkout) and follow-up stay attached to the right person.

[Offer](https://plandalf.com/products/checkouts)[Plandalf](https://plandalf.com/products/checkouts)Packages [products](https://plandalf.com/products/checkouts), [prices](https://plandalf.com/products/checkouts/payment-options), [checkout](https://plandalf.com/products/checkouts/hosted-checkout) mode, [invoices](https://plandalf.com/products/checkouts/invoices), [coupons](https://plandalf.com/products/checkouts/coupons), [bumps](https://plandalf.com/products/checkouts/order-bumps), [upsells](https://plandalf.com/products/checkouts/upsells), and confirmation state.

[Product and price](https://plandalf.com/products/checkouts)SharedUse stable keys so app entitlements, [invoices](https://plandalf.com/products/checkouts/invoices), and [automation](https://plandalf.com/products/automations/purchase-automations) [events](https://plandalf.com/docs/api/webhooks) point at the same commercial object.

[Payment](https://plandalf.com/products/checkouts/payment-options)[Stripe](https://plandalf.com/platforms/stripe)Plandalf keeps [checkout](https://plandalf.com/products/checkouts/hosted-checkout) and [invoice](https://plandalf.com/products/checkouts/invoices) context while the processor handles the charge.

[Purchase event](https://plandalf.com/docs/api/webhooks)[Plandalf](https://plandalf.com/products/automations)Starts fulfilment, CRM updates, lifecycle [sequences](https://plandalf.com/products/automations), receipts, and internal [notifications](https://plandalf.com/products/automations/purchase-automations).

## Product Surfaces This Stack Depends On

These screenshots come from the [product](https://plandalf.com/products/checkouts) surfaces behind The Affiliate [Tax](https://plandalf.com/platforms/tax) Launch. They show the Plandalf records and controls a builder should configure before sending buyers from [Next.js](https://plandalf.com/platforms/nextjs) into [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

[

![The Numi tax settings screen showing tax configuration.](https://plandalf.com/images/features/tax/tax-settings-product.png)


](https://plandalf.com/platforms/tax)

[Tax](https://plandalf.com/platforms/tax) settings keep [checkout](https://plandalf.com/products/checkouts/hosted-checkout) totals and post-purchase records connected to the stack.

[

![The Numi offer settings payment controls showing checkout payment configuration.](https://plandalf.com/images/features/payment-options/offer-settings-controls-product.png)


](https://plandalf.com/products/checkouts/payment-options)

[Payment options](https://plandalf.com/products/checkouts/payment-options) belong beside the [offer](https://plandalf.com/products/checkouts), so the seller can review [checkout](https://plandalf.com/products/checkouts/hosted-checkout) methods before launch.

[

![The Numi integrations settings page showing Stripe, PayPal, Stripe test mode, TaxJar, and Avalara connection options.](https://plandalf.com/images/stacks/api-first/numi-payment-processors.png)


](https://plandalf.com/platforms/stripe)

[Payment](https://plandalf.com/products/checkouts/payment-options) processors and [tax](https://plandalf.com/platforms/tax) services are configured in the app before [checkout](https://plandalf.com/products/checkouts/hosted-checkout) traffic reaches production.

[

![The Numi offer invoices records view showing customer invoice rows and payment status.](https://plandalf.com/images/features/invoices/offer-invoices-records-product.png)


](https://plandalf.com/products/checkouts/invoices)

[Invoice](https://plandalf.com/products/checkouts/invoices) records preserve the [buyer](https://plandalf.com/docs/sdk/identity), line item, [payment state](https://plandalf.com/products/checkouts/payment-options), and support context after purchase.

[

![The Numi offer editor settings tab showing metadata and checkout settings.](https://plandalf.com/images/features/notifications/offer-editor-settings-tab-product.png)


](https://plandalf.com/products/automations/webhooks)

[Metadata](https://plandalf.com/products/automations/webhooks) keeps campaign, source, [buyer](https://plandalf.com/docs/sdk/identity), and fulfilment context available after [payment](https://plandalf.com/products/checkouts/payment-options).

[

![The Numi offer editor with layout, product, theme, automation, invoice, and settings controls.](https://plandalf.com/images/stacks/api-first/numi-offer-editor.png)


](https://plandalf.com/products/checkouts)

The [offer](https://plandalf.com/products/checkouts) editor is where the [checkout surface](https://plandalf.com/products/checkouts/hosted-checkout), [products](https://plandalf.com/products/checkouts), [automation](https://plandalf.com/products/automations/purchase-automations), [invoices](https://plandalf.com/products/checkouts/invoices), and display mode come together.

[

![The Numi sales flow builder showing checkout pages and flow structure.](https://plandalf.com/images/features/sales-flows/checkout-pages-flow-product.png)


](https://plandalf.com/products/checkouts/sales-flows)

Sales flows keep the buying path visible before traffic moves from the campaign into [checkout](https://plandalf.com/products/checkouts/hosted-checkout).

[

![The Numi offer editor automation tab showing sequence controls beside the checkout canvas.](https://plandalf.com/images/features/automation/offer-editor-automation-tab-product.png)


](https://plandalf.com/products/automations)

[Automation](https://plandalf.com/products/automations/purchase-automations) is configured beside the [offer](https://plandalf.com/products/checkouts), so purchase-triggered [workflows](https://plandalf.com/workflows) stay attached to the buying surface.

[

![The Numi automation integrations screen showing connected workflow destinations.](https://plandalf.com/images/features/integrations/automation-integrations-product.png)


](https://plandalf.com/integrations)

[Automation](https://plandalf.com/products/automations/purchase-automations) [integrations](https://plandalf.com/integrations) make the post-purchase handoff visible instead of hiding it inside campaign code.

[

![The Numi offer invoices page showing invoice status, customer, amount, and line item information.](https://plandalf.com/images/stacks/api-first/numi-offer-invoices.png)


](https://plandalf.com/products/checkouts/invoices)

[Invoices](https://plandalf.com/products/checkouts/invoices) preserve the commercial record after [checkout](https://plandalf.com/products/checkouts/hosted-checkout), including line items and status.

[**Affiliate integration**Affiliates](https://plandalf.com/products/affiliates)[**Tax**Taxes](https://plandalf.com/platforms/tax)[**TaxJar**Taxes](https://plandalf.com/platforms/taxjar)[**Avalara**Taxes](https://plandalf.com/platforms/avalara)[**Payment options**Payments](https://plandalf.com/products/checkouts/payment-options)[**Stripe integration**Payments](https://plandalf.com/platforms/stripe)[**PayPal integration**Payments](https://plandalf.com/platforms/paypal)[**Invoices**Invoices](https://plandalf.com/products/checkouts/invoices)

## Build Recipes

Use these like [product](https://plandalf.com/products/checkouts)\-specific implementation notes: choose the selling moment, configure the Plandalf surface, then link into the exact features, [integrations](https://plandalf.com/integrations), [sequences](https://plandalf.com/products/automations), and docs needed to ship it.

![The Numi offer invoices records view showing customer invoice rows and payment status.](https://plandalf.com/images/features/invoices/offer-invoices-records-product.png)

[Invoice](https://plandalf.com/products/checkouts/invoices) records preserve the [buyer](https://plandalf.com/docs/sdk/identity), line item, [payment state](https://plandalf.com/products/checkouts/payment-options), and support context after purchase.

### Make [invoice](https://plandalf.com/products/checkouts/invoices) records the operational source of truth

**Outcome:** Support, finance, refunds, [tax](https://plandalf.com/platforms/tax) review, and [customer](https://plandalf.com/docs/sdk/identity) follow-up can all start from the same [invoice](https://plandalf.com/products/checkouts/invoices) and line-item record.

1.  Confirm [products](https://plandalf.com/products/checkouts) and [prices](https://plandalf.com/products/checkouts/payment-options) before the [offer](https://plandalf.com/products/checkouts) goes live so [invoice](https://plandalf.com/products/checkouts/invoices) rows match what was sold.
2.  Enable [invoice email](https://plandalf.com/products/checkouts/invoices), PDF [invoice](https://plandalf.com/products/checkouts/invoices), and custom [invoice](https://plandalf.com/products/checkouts/invoices) behavior where the business needs it.
3.  Verify [payment state](https://plandalf.com/products/checkouts/payment-options), [tax](https://plandalf.com/platforms/tax) context, [customer identity](https://plandalf.com/docs/sdk/identity), and line items after a test [checkout](https://plandalf.com/products/checkouts/hosted-checkout).
4.  Link the [invoice](https://plandalf.com/products/checkouts/invoices) record back to [automations](https://plandalf.com/products/automations), [webhooks](https://plandalf.com/docs/api/webhooks), and support [workflows](https://plandalf.com/workflows).

[Invoices](https://plandalf.com/products/checkouts/invoices)[PDF invoices](https://plandalf.com/products/checkouts/invoices)[Custom invoices](https://plandalf.com/products/checkouts/invoices)[Emailing invoices](https://plandalf.com/products/checkouts/invoices)[Webhooks](https://plandalf.com/docs/api/webhooks)

![The Numi tax settings screen showing tax configuration.](https://plandalf.com/images/features/tax/tax-settings-product.png)

[Tax](https://plandalf.com/platforms/tax) settings keep [checkout](https://plandalf.com/products/checkouts/hosted-checkout) totals and post-purchase records connected to the stack.

### Connect [tax](https://plandalf.com/platforms/tax) and [payment](https://plandalf.com/products/checkouts/payment-options) context before reporting

**Outcome:** The [invoice](https://plandalf.com/products/checkouts/invoices) record is useful because it carries processor, [tax](https://plandalf.com/platforms/tax), [customer](https://plandalf.com/docs/sdk/identity), and [product](https://plandalf.com/products/checkouts) context instead of a bare [payment](https://plandalf.com/products/checkouts/payment-options) amount.

1.  Connect [Stripe](https://plandalf.com/platforms/stripe), [PayPal](https://plandalf.com/platforms/paypal), [TaxJar](https://plandalf.com/platforms/taxjar), or [Avalara](https://plandalf.com/platforms/avalara) where the stack needs them.
2.  Choose [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [payment options](https://plandalf.com/products/checkouts/payment-options) before production traffic starts.
3.  Run [test sessions](https://plandalf.com/products/checkouts/sales-flows) and verify [invoice](https://plandalf.com/products/checkouts/invoices) totals, [tax](https://plandalf.com/platforms/tax) context, [payment](https://plandalf.com/products/checkouts/payment-options) method, and [customer](https://plandalf.com/docs/sdk/identity) fields.
4.  Use the adjacent [tax](https://plandalf.com/platforms/tax) and SaaS stacks when the [buyer](https://plandalf.com/docs/sdk/identity) needs global [checkout](https://plandalf.com/products/checkouts/hosted-checkout) depth.

[Stripe](https://plandalf.com/platforms/stripe)[PayPal](https://plandalf.com/platforms/paypal)[Tax](https://plandalf.com/platforms/tax)[TaxJar](https://plandalf.com/platforms/taxjar)[Tax-compliant SaaS stack](https://plandalf.com/stacks/tax-compliant-saas)

![The Numi automation integrations screen showing connected workflow destinations.](https://plandalf.com/images/features/integrations/automation-integrations-product.png)

[Automation](https://plandalf.com/products/automations/purchase-automations) [integrations](https://plandalf.com/integrations) make the post-purchase handoff visible instead of hiding it inside campaign code.

### Route [invoice](https://plandalf.com/products/checkouts/invoices) [events](https://plandalf.com/docs/api/webhooks) into follow-up work

**Outcome:** The sale can trigger receipts, support alerts, fulfilment, CRM updates, and lifecycle messages without reconstructing the transaction later.

1.  Use [purchase automations](https://plandalf.com/products/automations/purchase-automations) when the [invoice](https://plandalf.com/products/checkouts/invoices) or [payment state](https://plandalf.com/products/checkouts/payment-options) changes.
2.  Send [invoice email](https://plandalf.com/products/checkouts/invoices) through the transactional path and lifecycle messaging through the right [sequence](https://plandalf.com/products/automations).
3.  Route support and finance [notifications](https://plandalf.com/products/automations/purchase-automations) through [integrations](https://plandalf.com/integrations) or [webhooks](https://plandalf.com/docs/api/webhooks).
4.  Keep [invoice](https://plandalf.com/products/checkouts/invoices) URLs and IDs available to downstream systems.

[Purchase automations](https://plandalf.com/products/automations/purchase-automations)[Automation integrations](https://plandalf.com/integrations)[Sequences](https://plandalf.com/products/automations)[Postmark](https://plandalf.com/platforms/postmark)[Customer.io](https://plandalf.com/platforms/customer-io)

## Compare The Pattern

A commerce stack is different from a processor-only [checkout](https://plandalf.com/products/checkouts/hosted-checkout), a marketplace storefront, or a standalone funnel tool. Use these linked comparisons when a builder is deciding whether [Plandalf Offers](https://plandalf.com/products/checkouts) should sit between the sales surface, [payment processor](https://plandalf.com/products/checkouts/payment-options), and follow-up tools.

### [Plandalf vs Gumroad](https://plandalf.com/alternatives/gumroad)

Compare with [Gumroad](https://plandalf.com/alternatives/gumroad). Use this when your [product](https://plandalf.com/products/checkouts) already has its own app, catalog, [customer identity](https://plandalf.com/docs/sdk/identity), and fulfilment path instead of needing a marketplace-style [checkout](https://plandalf.com/products/checkouts/hosted-checkout) [product](https://plandalf.com/products/checkouts).

[Products](https://plandalf.com/products/checkouts)[SDK checkout](https://plandalf.com/docs/api/sdk-checkout)[Webhooks](https://plandalf.com/docs/api/webhooks)

### [Plandalf vs SamCart](https://plandalf.com/comparisons/samcart-alternative)

Compare with [SamCart](https://plandalf.com/comparisons/samcart-alternative). Use this when [checkout](https://plandalf.com/products/checkouts/hosted-checkout) needs [offer](https://plandalf.com/products/checkouts) [automation](https://plandalf.com/products/automations/purchase-automations), [product](https://plandalf.com/products/checkouts) context, [invoices](https://plandalf.com/products/checkouts/invoices), and post-purchase [workflows](https://plandalf.com/workflows) rather than a separate funnel tool beside the business.

[Order bumps](https://plandalf.com/products/checkouts/order-bumps)[Upsells](https://plandalf.com/products/checkouts/upsells)[Automations](https://plandalf.com/products/automations)

[ThriveCart comparison](https://plandalf.com/comparisons/thrivecart-alternative)[ThriveCart alternatives](https://plandalf.com/comparisons/thrivecart-alternative)[ClickFunnels comparison](https://plandalf.com/alternatives/clickfunnels)[ClickFunnels alternatives](https://plandalf.com/alternatives/clickfunnels)[Kajabi comparison](https://plandalf.com/comparisons/kajabi-checkout)[Kajabi alternatives](https://plandalf.com/comparisons/kajabi-checkout)

## Linked Implementation Map

Use this map when The Affiliate [Tax](https://plandalf.com/platforms/tax) Launch turns from an idea into implementation work. Every linked feature, [integration](https://plandalf.com/integrations), docs page, [workflow](https://plandalf.com/workflows), comparison, [template](https://plandalf.com/templates), and tool is a next step a builder or agent can follow from this stack.

### Product surfaces

Configure these Plandalf features before sending buyers into the stack.

[**Affiliate integration**Affiliates](https://plandalf.com/products/affiliates)[**Tax**Taxes](https://plandalf.com/platforms/tax)[**TaxJar**Taxes](https://plandalf.com/platforms/taxjar)[**Avalara**Taxes](https://plandalf.com/platforms/avalara)[**Payment options**_Payments_](https://plandalf.com/products/checkouts/payment-options)[**Stripe integration**_Payments_](https://plandalf.com/platforms/stripe)[**PayPal integration**_Payments_](https://plandalf.com/platforms/paypal)[**Invoices**_Invoices_](https://plandalf.com/products/checkouts/invoices)[**Metadata**Data](https://plandalf.com/products/automations/webhooks)[**Analytics**_Analytics_](https://plandalf.com/products/checkouts)

### Integrations

The tools that own the audience, [payment](https://plandalf.com/products/checkouts/payment-options), delivery, [tax](https://plandalf.com/platforms/tax), CRM, or follow-up path.

[**Next.js**](https://plandalf.com/platforms/nextjs)[**Stripe**Take cards, wallets and subscriptions through your own _Stripe_ account on every Plandalf _checkout_.](https://plandalf.com/platforms/stripe)[**PayPal**Take _PayPal_ on every Plandalf _checkout_. Connect your account once, no per-_checkout_ wiring.](https://plandalf.com/platforms/paypal)[**Tolt**Send attributed purchase transactions to _Tolt_ when a _checkout_ _invoice_ is paid.](https://plandalf.com/platforms/tolt)[**TaxJar**Let _TaxJar_ work out US and Canadian sales _tax_ on every Plandalf _checkout_, and record it on the _invoice_.](https://plandalf.com/platforms/taxjar)[**Avalara**Let _Avalara_ work out the _tax_ on every Plandalf _checkout_, and record it on the _invoice_.](https://plandalf.com/platforms/avalara)

### Docs handoff

Move from stack planning into exact setup, [SDK](https://plandalf.com/docs/sdk), [API](https://plandalf.com/products/automations/webhooks), and [webhook](https://plandalf.com/docs/api/webhooks) reference pages.

[**Offers overview**Understand _Plandalf Offers_: _hosted checkout pages_, embedded _checkout_ flows, _products_, _prices_, add-ons, _order bumps_, _upsells_, _save offers_, and purchase context.](https://plandalf.com/docs/offers/overview)[**Products**Attach _products_ and _prices_ to _offers_ so _checkout_ sessions, _invoices_, and _integrations_ carry clean catalog context.](https://plandalf.com/docs/offers/products)[**Pricing models**Model _one-time prices_, subscriptions, tiered _pricing_, volume _pricing_, trials, discounts, and promo-driven _price_ changes.](https://plandalf.com/docs/offers/pricing)[**Hosted checkout**Plandalf's _hosted checkout_ — managed URL, theme-able down to fonts and layout, with test and _preview sessions_.](https://plandalf.com/docs/offers/hosted-checkout)[**Save offers**Present a discount, plan switch, pause, or deadline-bound _offer_ when a subscriber starts a cancellation path.](https://plandalf.com/docs/offers/save-offers)[**Stripe**Connect _Stripe_ as the _payment_ account behind _Plandalf offers_, then test _checkout_, _products_, _prices_, and payout behavior before _going live_.](https://plandalf.com/docs/platforms/stripe)[**Developer API reference**A compact map of _SDK_ methods, public client routes, and security boundaries.](https://plandalf.com/docs/api/reference)[**Webhooks**Start _Plandalf automations_ from generated catch URLs or send outbound HTTP requests from _automation_ actions.](https://plandalf.com/docs/api/webhooks)[**SDK checkout API**Understand _checkout_ internals without confusing _buyer_\-facing routes with _payment_ verification.](https://plandalf.com/docs/api/sdk-checkout)[**Install the SDK**Load the Plandalf browser _SDK_ on any site, app, page builder, or framework route.](https://plandalf.com/docs/sdk/install)[**React SDK**Build a concise upgrade button with the _React_ provider, promise results, and explicit backend props. Add _live events_ only when needed.](https://plandalf.com/docs/sdk/react)[**Live events**Use FlowHandle _events_ and DOM _events_ to observe _checkout_ starts, purchases, completions, and cancellations.](https://plandalf.com/docs/sdk/events)[**Identify customers**_Customer_ JWT claims, signing keys, validation, and browser identity lifecycle.](https://plandalf.com/docs/sdk/identity)[**Configure the SDK**Configure frame style, test mode, size, _promos_, identity, _session continuity_, _metadata_, properties, and close behavior.](https://plandalf.com/docs/sdk/configure)

### Recipes and sequences

Use these when the sale needs fulfilment, lifecycle, [webhook](https://plandalf.com/docs/api/webhooks), or [automation](https://plandalf.com/products/automations/purchase-automations) depth.

[**Affiliate sale tax reconciliation**Attach affiliate attribution, _tax_ calculation, _payment_ context, and reporting records to the same completed _checkout event_.](https://plandalf.com/products/automations)[**Sell a Webflow product with Stripe Checkout**Wire a Plandalf _hosted checkout_ into a _Webflow_ site, accept _Stripe_ _payments_, and fulfill on completion.](https://plandalf.com/workflows/sell-webflow-product-with-stripe-checkout)[**Stripe to Mailchimp: tag your buyers**Add every Plandalf and _Stripe_ _buyer_ to a _Mailchimp_ audience with a purchase tag, using a Send _Webhook_ action after _checkout_ completes.](https://plandalf.com/workflows/stripe-to-mailchimp-after-checkout)

### Comparisons

Decision pages for buyers choosing between Plandalf and narrower [checkout](https://plandalf.com/products/checkouts/hosted-checkout), funnel, storefront, or [automation](https://plandalf.com/products/automations/purchase-automations) tools.

[**Plandalf vs Gumroad**Use this when your _product_ already has its own app, catalog, _customer identity_, and fulfilment path instead of needing a marketplace-style _checkout_ _product_.](https://plandalf.com/alternatives/gumroad)[**Plandalf vs SamCart**Use this when _checkout_ needs _offer_ _automation_, _product_ context, _invoices_, and post-purchase _workflows_ rather than a separate funnel tool beside the business.](https://plandalf.com/comparisons/samcart-alternative)[**ThriveCart alternatives**Compare Plandalf with ThriveCart when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/comparisons/thrivecart-alternative)[**ClickFunnels alternatives**Compare Plandalf with _ClickFunnels_ when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/alternatives/clickfunnels)[**Kajabi alternatives**Compare Plandalf with _Kajabi_ when this stack overlaps with a funnel, course, or _checkout_ tool and the _buyer_ is evaluating replacement options.](https://plandalf.com/comparisons/kajabi-checkout)

### Templates and tools

Adjacent pages that help turn the stack into an implementation plan.

[**Webflow + Stripe Checkout**A ready-to-clone Plandalf _checkout_ _template_ designed for _Webflow_ sites paying via _Stripe_.](https://plandalf.com/templates/webflow-stripe-checkout)[**Writers & creators**Drop a _buy button_ inside the post. Sell the upgrade in the same scroll.](https://plandalf.com/products/checkouts)

## Operational Recipes

These are the practical recipes a builder usually needs after the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) opens. They stay [product](https://plandalf.com/products/checkouts)\-level: [Offers](https://plandalf.com/products/checkouts), [Automations](https://plandalf.com/products/automations), [integrations](https://plandalf.com/integrations), [invoices](https://plandalf.com/products/checkouts/invoices), [sequences](https://plandalf.com/products/automations), and [payment](https://plandalf.com/products/checkouts/payment-options) [events](https://plandalf.com/docs/api/webhooks) explain the [workflow](https://plandalf.com/workflows) before any tool-specific setup.

![The Numi offer editor automation tab showing sequence controls beside the checkout canvas.](https://plandalf.com/images/features/automation/offer-editor-automation-tab-product.png)

[Automation](https://plandalf.com/products/automations/purchase-automations) is configured beside the [offer](https://plandalf.com/products/checkouts), so purchase-triggered [workflows](https://plandalf.com/workflows) stay attached to the buying surface.

### Grant access after purchase

**Trigger:** [Checkout](https://plandalf.com/products/checkouts/hosted-checkout) completed

**Action:** Mark the workspace, account, seat, course, [template](https://plandalf.com/templates), or [API](https://plandalf.com/products/automations/webhooks) plan as active in your [product](https://plandalf.com/products/checkouts) database.

[Webhooks](https://plandalf.com/docs/api/webhooks)[SDK events](https://plandalf.com/docs/sdk/events)[Feature gates](https://plandalf.com/products/checkouts)

![The Numi offer invoices page showing invoice status, customer, amount, and line item information.](https://plandalf.com/images/stacks/api-first/numi-offer-invoices.png)

[Invoices](https://plandalf.com/products/checkouts/invoices) preserve the commercial record after [checkout](https://plandalf.com/products/checkouts/hosted-checkout), including line items and status.

### Send transactional receipts separately from lifecycle email

**Trigger:** [Invoice](https://plandalf.com/products/checkouts/invoices) or purchase recorded

**Action:** Transactional email handles receipts, while lifecycle tools handle onboarding and expansion.

[Invoices](https://plandalf.com/products/checkouts/invoices)[Emailing invoices](https://plandalf.com/products/checkouts/invoices)[Transactional email](https://plandalf.com/integrations)[Customer.io](https://plandalf.com/platforms/customer-io)

![The Numi sequences screen showing automated workflow configuration.](https://plandalf.com/images/features/automation/sequences-desktop.jpg)

[Sequences](https://plandalf.com/products/automations) turn the [purchase event](https://plandalf.com/docs/api/webhooks) into onboarding, fulfilment, alerts, and lifecycle follow-up.

### Start a [customer](https://plandalf.com/docs/sdk/identity) lifecycle [sequence](https://plandalf.com/products/automations)

**Trigger:** [Purchase event](https://plandalf.com/docs/api/webhooks) carries [product](https://plandalf.com/products/checkouts), [price](https://plandalf.com/products/checkouts/payment-options), [offer](https://plandalf.com/products/checkouts), [buyer](https://plandalf.com/docs/sdk/identity), and [coupon](https://plandalf.com/products/checkouts/coupons) context

**Action:** Send onboarding, activation, renewal, save-[offer](https://plandalf.com/products/checkouts), or expansion messages without treating the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) as a generic form submit.

[Sequences](https://plandalf.com/products/automations)[Automations](https://plandalf.com/products/automations)[Coupons](https://plandalf.com/products/checkouts/coupons)[Postmark](https://plandalf.com/platforms/postmark)

![The Numi offer invoices records view showing customer invoice rows and payment status.](https://plandalf.com/images/features/invoices/offer-invoices-records-product.png)

[Invoice](https://plandalf.com/products/checkouts/invoices) records preserve the [buyer](https://plandalf.com/docs/sdk/identity), line item, [payment state](https://plandalf.com/products/checkouts/payment-options), and support context after purchase.

### Keep support and finance records useful

**Trigger:** [Invoice](https://plandalf.com/products/checkouts/invoices) created or [payment state](https://plandalf.com/products/checkouts/payment-options) changes

**Action:** Store [invoice](https://plandalf.com/products/checkouts/invoices) identifiers, line items, [tax](https://plandalf.com/platforms/tax) context, and [customer](https://plandalf.com/docs/sdk/identity) fields so refunds, support questions, and reporting have a durable record.

[Custom invoices](https://plandalf.com/products/checkouts/invoices)[PDF invoices](https://plandalf.com/products/checkouts/invoices)[TaxJar](https://plandalf.com/platforms/taxjar)[Avalara](https://plandalf.com/platforms/avalara)

## Builder Checklist

Before shipping the [integration](https://plandalf.com/integrations), verify these decisions. If one is unclear, the [checkout](https://plandalf.com/products/checkouts/hosted-checkout) may open, but the business [workflow](https://plandalf.com/workflows) after purchase will still be brittle.

`01`**[Offer selected](https://plandalf.com/products/checkouts)**Every buying moment points to a clear [offer](https://plandalf.com/products/checkouts), not an improvised [payment](https://plandalf.com/products/checkouts/payment-options) link.

`02`**[Identity mapped](https://plandalf.com/docs/sdk/identity)**Your [product](https://plandalf.com/products/checkouts) can reconcile the [buyer](https://plandalf.com/docs/sdk/identity), [customer](https://plandalf.com/docs/sdk/identity), workspace, account, or entitlement after purchase.

`03`**[Event path chosen](https://plandalf.com/docs/api/webhooks)**Fulfilment starts from a [purchase event](https://plandalf.com/docs/api/webhooks) or [sequence](https://plandalf.com/products/automations), not from a front-end success screen alone.

`04`**[Records preserved](https://plandalf.com/products/checkouts/invoices)**[Invoices](https://plandalf.com/products/checkouts/invoices), line items, [payment state](https://plandalf.com/products/checkouts/payment-options), and [customer](https://plandalf.com/docs/sdk/identity) fields are available for support and reporting.

## Next Steps

### [Substack Shop](https://plandalf.com/stacks/substack-shop)

Sell a [template](https://plandalf.com/templates), report, workshop, membership, or paid download from a Substack post while Plandalf owns the [offer](https://plandalf.com/products/checkouts), [checkout](https://plandalf.com/products/checkouts/hosted-checkout), [invoice](https://plandalf.com/products/checkouts/invoices), and [purchase event](https://plandalf.com/docs/api/webhooks).

[Stripe](https://plandalf.com/platforms/stripe)[Payment options](https://plandalf.com/products/checkouts/payment-options)[Invoices](https://plandalf.com/products/checkouts/invoices)[Metadata](https://plandalf.com/products/automations/webhooks)

### [The API-First Product](https://plandalf.com/stacks/api-first)

Split transactional email from lifecycle email so each tool does what it's good at.

[Stripe](https://plandalf.com/platforms/stripe)[Analytics](https://plandalf.com/products/checkouts)[Metadata](https://plandalf.com/products/automations/webhooks)[Stripe integration](https://plandalf.com/platforms/stripe)

### [The Studio](https://plandalf.com/stacks/studio-paypal)

Close international clients who insist on [PayPal](https://plandalf.com/platforms/paypal), then drop the signed deal straight into the project tracker.

[PayPal](https://plandalf.com/platforms/paypal)[PayPal integration](https://plandalf.com/platforms/paypal)[Payment options](https://plandalf.com/products/checkouts/payment-options)[Invoices](https://plandalf.com/products/checkouts/invoices)

### [The Coach](https://plandalf.com/stacks/coach-consultant)

Take deposits and recurring retainers without re-platforming your existing site.

[Hosted checkout pages](https://plandalf.com/products/checkouts/hosted-checkout)[Buy button](https://plandalf.com/products/checkouts/hosted-checkout)[Package prices](https://plandalf.com/products/checkouts/payment-options)

### [The Course Creator](https://plandalf.com/stacks/course-creator)

Enrol each [buyer](https://plandalf.com/docs/sdk/identity) into the right cohort [sequence](https://plandalf.com/products/automations) the moment they pay.

[Products](https://plandalf.com/products/checkouts)[Product variants](https://plandalf.com/products/checkouts/payment-options)[Prices](https://plandalf.com/products/checkouts/payment-options)

### [The Template Shop](https://plandalf.com/stacks/designer-templates)

Sell digital download [products](https://plandalf.com/products/checkouts) with license-tier [upsells](https://plandalf.com/products/checkouts/upsells) and post-purchase delivery.

[Products](https://plandalf.com/products/checkouts)[Product variants](https://plandalf.com/products/checkouts/payment-options)[Tiered prices](https://plandalf.com/products/checkouts/payment-options)

### Automation sequences

[**Affiliate sale tax reconciliation**Attach affiliate attribution, tax calculation, payment context, and reporting records to the same completed checkout event.](https://plandalf.com/products/automations)[**Invoice issued record sync**Send invoice, customer, and payment records to email, CRM, and operations systems after checkout or renewal.](https://plandalf.com/products/automations)

### Templates

[**Webflow + Stripe Checkout**A ready-to-clone Plandalf checkout template designed for Webflow sites paying via Stripe.](https://plandalf.com/templates/webflow-stripe-checkout)

### Use cases

[**Writers & creators**Drop a buy button inside the post. Sell the upgrade in the same scroll.](https://plandalf.com/products/checkouts)[**Career coaches & advisors**Sell sessions, packages, and cohort programs on a checkout that matches your coaching practice.](https://plandalf.com/products/checkouts)[**Consultants & agencies**Take the deposit when the client says yes. Bill the retainer on day one. Stop chasing invoices.](https://plandalf.com/products/checkouts)[**Solopreneurs**A practical checkout system for one-person businesses selling digital products, services, subscriptions, and small launches.](https://plandalf.com/products/checkouts)[**Tour operators & travel planners**Itineraries, deposits, and tour add-ons on a checkout that feels like a passport stamp, not a portal.](https://plandalf.com/products/checkouts)

### Features and docs

[**Offers product**Checkout pages, embedded offers, products, prices, coupons, bumps, upsells, and invoices.](https://plandalf.com/products/checkouts)[**Automations product**Purchase-triggered workflows for CRM, email, fulfilment, records, and handoff.](https://plandalf.com/products/automations)[**Sequences**Events that fire after checkout, payment, subscription, and lifecycle changes.](https://plandalf.com/products/automations)[**Payment integrations**Stripe, PayPal, payment options, invoices, and payment event routing.](https://plandalf.com/platforms/payment)[**Offers docs**How Offers packages products, prices, checkout layouts, and conversion elements.](https://plandalf.com/docs/offers/overview)[**Hosted checkout docs**Hosted and embedded checkout setup, test sessions, and preview sessions.](https://plandalf.com/docs/offers/hosted-checkout)[**Stripe docs**How Stripe connects and what events Plandalf listens for.](https://plandalf.com/docs/platforms/stripe)[**Webhook docs**Checkout, payment, and subscription events for custom automations.](https://plandalf.com/docs/api/webhooks)[**Affiliate integration**Affiliates](https://plandalf.com/products/affiliates)[**Tax**Taxes](https://plandalf.com/platforms/tax)[**TaxJar**Taxes](https://plandalf.com/platforms/taxjar)[**Avalara**Taxes](https://plandalf.com/platforms/avalara)
