Shopify App Store
Products Engineering The name Docs Support Hire us Shopify App Store

The operational layer for Shopify

Lisive builds the apps that keep Shopify orders moving: shipping rates at checkout, Vietnamese e-invoices on payment, and address data carriers can use.

Buyer reaches checkout

Subtotal$184.00
Cart weight2.4 kg
Ship toHanoi, VN
POST /carrier/rates

Lisive evaluates the cart

Heavy freight over 20 kgno match
Free shipping over $150matched
cart_total ≥ 150.00
country = VN
200 in 41 ms

Checkout shows the right rates

Free shipping4–6 business days $0.00
Express1–2 business days $18.00
A checkout rate request, end to end. Rulify answers in-line; if it cannot, Shopify falls back to the store's own rates.
On the Shopify App StoreRulify and Vietnam Address Assistant are live today; Invio is in review
In the checkout pathRate logic answers Shopify's request in-line
Shopify FunctionsDelivery rules compiled to WebAssembly, run by Shopify
Compliance-firstVietnamese e-invoices and the 2025 address model, handled to the letter

01Products

Three products. Each solves one problem completely.

A merchant needs shipping to charge the right amount and installs a suite that also does labels, tracking pages and returns. Every unused setting is surface area that can fail while an order is being placed. We went the other way. Each of these apps does one job, and there is no second menu sitting behind it.

Rulify Shipping & delivery logic, global

Shipping that charges what your policy actually says.

Problem
Shopify's built-in rates are flat tables. The real policy (free over a threshold, surcharge for heavy carts, no express to remote postcodes) lives in someone's head, and the store loses margin every time it is applied wrong.
Approach
Conditions compose into scenarios, evaluated in priority order the moment Shopify asks for rates. Delivery options are hidden, renamed and reordered by a Shopify Function running inside checkout. No theme edits, no code.
Outcome
The rate a buyer sees is the rate you meant to charge, and you can see which scenario produced it. Rules are edited in the admin and take effect on the next rate request.

The case that comes up most is two rules at once: free shipping over a threshold, plus a surcharge for a handful of remote provinces. Those are two scenarios rather than one. Base scenarios run first in priority order and the first match wins; surcharges then run as a second pass over whatever base rate matched, and the sum is clamped at zero, so a free rate plus a remote fee comes out as the fee and never as a negative number.

That second pass is also where most support tickets start. A merchant writes one scenario expecting it to override another, and gets the two added together instead. The debug log names the scenario behind every rate that went back to checkout, which is usually how they find out the rule they wrote is not the rule they meant.

  • Cart value
  • Weight
  • Destination zones
  • Product & customer tags
  • Tiered rates
  • Surcharges
Install Rulify
Demowalkthrough

Invio E-invoice automation for Vietnam In review

Tax invoices, issued the moment an order is paid.

Why
Vietnamese law requires an e-invoice per sale. Most stores issue them by hand in a provider portal, order by order, then reconcile against Shopify at month end, which is where the mismatches turn up.
What it does
Invio listens for paid or fulfilled orders, issues through your provider and writes the serial and number back onto the order. Buyers who need a company invoice enter their tax details at checkout, before it completes. An order cannot be invoiced twice, however many times the request arrives.
  • Auto on paid / fulfilled
  • Manual issue
  • Storefront VAT request
  • Idempotent by order
  • Reason on every failure

In review on the Shopify App Store. Installable soon.

Vietnam Address Assistant Address normalization for Vietnam

Addresses that still match the map after the provinces changed.

On 1 July 2025 Vietnam removed the district tier. 63 provinces became 34 and 10,035 communes became 3,321, on the same morning. Buyers did not change with it. They keep typing the address they have typed for years, the order arrives naming a district that stopped existing, and the carrier hands it back.

So the app asks. A block on the Thank you page shows province, ward and a delivery note, already filled in: the resolver reads the checkout address and pre-selects a match, covering old district-and-commune pairs and the usual misspellings. The buyer reads it and presses Confirm. If they do not, nothing happens.

What lands on the order is three custom attributes your carrier or fulfilment app can read. The shipping address typed at checkout is left alone either way. The app is free.

  • 34 provinces
  • 3,321 wards
  • Buyer-confirmed
  • Thank you page
  • Custom attributes
  • Free
Install Vietnam Address Assistant

02Engineering

What we mean when we say done.

These are the rules all three apps are built against.

  1. Principle 01

    What happens on the day we are the thing that is broken.

    Rulify answers Shopify inside the checkout rate request. A valid request with no matching scenario returns an empty rate list (or the merchant's configured Rulify safety fallback). Technical failures return an HTTP error so Shopify can use any backup rates configured for the store.

  2. Principle 02

    Operations are idempotent.

    Every invoice is keyed to its order. Duplicate webhooks, retries and a merchant clicking twice all converge on one legal document instead of three. Getting this wrong is not a bug report, it is a tax correction.

  3. Principle 03

    If an operation is skipped or fails, it gets written down.

    The reason is recorded in the app's queue, next to the order it belongs to, and the order itself is left untouched. Failures stay visible in the queue instead of being retried away in the background.

  4. Principle 04

    The smallest dataset we can get the job done with.

    No customer data beyond what a document legally requires. Provider credentials are encrypted at rest. Deletion requests actually delete: a shop redaction drops the shop row and everything that hangs off it.

03The name

How to say it.

Lisive LYE-siv

Two syllables: LYE, stressed, then siv.

LYE
Rhymes with eye. The same opening sound as library.
siv
As in sieve. Short and unstressed, no long e.

Not li-SEEV, not lee-SEE-vay. One stress, at the front.

Where it comes from

Live, with shipping in the middle.

Lisive began with shipping. The first Shopify product I ever worked on was a shipping app, and that job turned into the rest of a career in Shopify engineering.

Years later I started Lisive in the same place: the operational work around a Shopify order, one problem at a time.

That is also why the name sounds the way it does. Say live, put the shipping in, and you land on LYE-siv.

04Start

Which problem do you have?

Rulify and Vietnam Address Assistant install from the Shopify App Store in a few clicks. Invio is in review and follows shortly. No theme edits and no developer required.

None of these? Tell us what breaks in your operation: hello@lisive.com. A person reads every message.