Send receipts in CRM PLUS on LINE

SAKU Receipts: How to send receipts in CRM PLUS on LINE messages

  • Invoice-ready

  • Hydrogen-ready

  • From $4.99/mo

SAKU Receipts: How to send receipts in CRM PLUS on LINE messages

App features

  • Customers issue documents themselves from the Thank you page, order status page and emails
  • Invoice registration number (Japan) and tax breakdowns by rate (8% / 10%)
  • Set your company logo, stamp and theme color
  • Print from the admin one order at a time or in bulk
  • Documents in Japanese and English
  • Pro plan: remarks by payment method or tag, issued tags and issue limits
  • Hydrogen plan: issue documents on headless (Hydrogen) stores too

*Note
Supports new customer accounts.
Partially supports classic customer accounts (supported themes: Dawn, Rise and Studio).

When you combine CRM PLUS on LINE with Shopify Flow, a LINE message with a SAKU Receipts "Receipt" button is sent automatically when a customer's payment is complete. The customer only taps the button on LINE to open the receipt for that order.

A LINE message with a Receipt button

After setup, customers receive a message like this on LINE.


The overall flow

First, here is how the receipt reaches LINE.

How a receipt reaches the customer on LINE

  1. A customer buys a product and the payment is complete.
  2. The completed payment is the trigger. A Shopify Flow workflow starts automatically.
  3. In the workflow, CRM PLUS on LINE sends a message to the customer on LINE. The message has a "Receipt" button with the SAKU Receipts link.
  4. When the customer taps the button, SAKU Receipts shows the receipt for that order.

This article explains, screen by screen, how to build this flow (workflow) in Shopify Flow. There are four steps.

  1. Create a workflow and choose "Order paid" as the trigger
  2. Add the action "LINE Message: Flex" and enter the message
  3. Save and turn on the workflow
  4. Check with a test order that the message arrives on LINE


What you need before you start

  • SAKU Receipts (installed, with your document settings finished)
  • CRM PLUS on LINE (installed and linked to your store's LINE Official Account)
  • Shopify Flow (a free Shopify app. If you do not see "Flow" under "Apps" in your admin, install it from the Shopify App Store)

Messages arrive only for customers who are linked to LINE in CRM PLUS on LINE. Customers who are not linked do not receive them.


Download the workflow file and use it (the easiest way)

Download the file below and import it into Shopify Flow. The workflow in this article is created for you. You do not need to build it by hand.

Download the workflow file (crm-plus-on-line-receipt.flow)

What you need first: CRM PLUS on LINE, SAKU Receipts and Shopify Flow must all be installed on your store. If CRM PLUS on LINE is not installed, the action that sends the LINE message shows an error after you import the file.

① In the Shopify admin, open "Apps" → "Flow".

② Click "Import" at the top right.

③ Click "Add file" and choose the file you downloaded (crm-plus-on-line-receipt.flow).

④ Click "Import".
The workflow "CRM PLUS on LINE 購入完了時に領収書ボタンを送信" is created. (The workflow name is in Japanese.)

⑤ Check what is inside the workflow.

  • The trigger is "Order paid".
  • The action is "LINE Message: Flex" from CRM PLUS on LINE (it sends a LINE message).
  • The button link is {{ shop.primaryDomain.url }}/apps/saku-print?...&type=receipt&locale=ja.

⑥ Test it with a test order, then click "Turn on workflow" at the top right.
For how to test, see "4️⃣ Check with a test order" below.

Note: The file contains only the workflow settings. It contains no store data or personal information.

Note: The imported link opens a Japanese receipt (locale=ja). To open another document (invoice, delivery note or quotation) or an English document, see the explanation of type= and locale= in "Other documents and Japanese documents" below, and change the link.

Note: If you want to build it by hand, start from "1️⃣ Create a workflow and choose the trigger" below.


1️⃣ Create a workflow and choose the trigger

The trigger decides when the workflow starts. Here, choose "when an order is paid".

① Open Shopify Flow and click "Create workflow".
In the Shopify admin left menu, open "Apps" → "Flow" to see your list of workflows. Click "Create workflow" at the top right.

② Click "Select a trigger".
A new workflow screen opens. Click "Select a trigger" below the input field in the center.

Tip: you can also ask Sidekick (Shopify's AI assistant) to build it

On the screen in ②, type a request like the one below into the box in the middle ("Tell me what you want to create…") and send it. Sidekick will build the workflow for you.

Create a workflow that, when an order is paid (Order paid), sends a LINE message to the order's customer with the CRM PLUS on LINE action "LINE Message: Flex". Use {{ order.customer.id }} for the customer.

However, what the AI builds is not always the same. Even if you use Sidekick, always go through steps 1 to 4 in this article and check the following.

  • The trigger is "Order paid" (step 1).
  • The action is "LINE Message: Flex", and the customer, alternative text and Flex Message container are filled in correctly (step 2). Replace the Flex Message container with the code in this article.
  • The workflow is turned on (step 3).
  • Place a test order and check that the LINE message arrives and the button opens the receipt (step 4).

③ Choose "Order paid".
Type Order paid in the search field on the left, then click "Order paid (Shopify)". This trigger means "This workflow starts when an order is paid".

④ When "Order paid" is added to the editor, step 1 is done.
This trigger needs no extra settings.

The editor with Order paid added

Note: The message is sent for paid orders, so the receipt opens right away when the customer taps the button. (A receipt cannot be opened for an unpaid order.)


2️⃣ Add the action that sends the LINE message

The action decides what the workflow does. Here, add the action that sends a LINE message with CRM PLUS on LINE.

① Add an action under "Order paid".
Click the "+" (or "Action") shown under "Order paid". "Select an action" opens on the left.

② Choose "LINE Message: Flex".
Type LINE Message: Flex in the search field, then click "LINE Message: Flex" from CRM PLUS on LINE (it sends a Flex Message on LINE).

③ Fill in these three fields on the left.

Field What to enter
Customer {{ order.customer.id }} (enter it exactly like this. It means "send to the customer of this order")
Alternative text Example: "Your receipt" (the text shown in LINE notifications and the chat list)
Flex Message container Paste all of the "Flex Message code" below

LINE Message: Flex settings (Customer, alternative text and Flex Message container)

When you select "LINE Message: Flex", its fields appear on the left. Fill in the fields in the red box.

Pasting code into the Flex Message container is also explained in the official CRM PLUS on LINE manual, "Flex Messageの配信" (Sending Flex Messages, in Japanese).

④ When "Order paid" and "LINE Message: Flex" are connected by a line in the editor, step 2 is done.

Shopify Flow editor with Order paid connected to LINE Message: Flex

The Shopify Flow editor. As in the red box, "LINE Message: Flex" is connected under "Order paid".


Flex Message code

This code shows a thank-you message and a "Receipt" button. Copy all of it and paste it into the "Flex Message container" field in step 2.

{
  "type": "bubble",
  "body": {
    "type": "box",
    "layout": "vertical",
    "contents": [
      {
        "type": "text",
        "text": "Thank you for your order",
        "weight": "bold",
        "size": "md",
        "wrap": true
      },
      {
        "type": "text",
        "text": "Tap the button below to view your receipt.",
        "size": "sm",
        "color": "#666666",
        "margin": "md",
        "wrap": true
      }
    ]
  },
  "footer": {
    "type": "box",
    "layout": "vertical",
    "contents": [
      {
        "type": "button",
        "style": "primary",
        "color": "#1DB446",
        "action": {
          "type": "uri",
          "label": "Receipt",
          "uri": "{{ shop.primaryDomain.url }}/apps/saku-print?orderId={{ order.legacyResourceId }}&confirmationNo={{ order.confirmationNumber }}&type=receipt&locale=en"
        }
      }
    ]
  }
}

This code opens English documents (locale=en). To open Japanese documents, change locale=en to locale=ja. See "Other documents and Japanese documents" below.

In this code, some parts are free to change and some must stay as they are.

  • You can change: the message text ("Thank you for your order" and "Tap the button below…"), the button label (Receipt in "label": "Receipt"), and the button color ("color": "#1DB446").
  • You must not change: the link in the "uri" line. Only the document type and the language can be changed, as described in "Other documents and Japanese documents" below.


About the link in the code

This is the link that opens when the button is tapped (it is the same as the "uri" line in the code).

{{ shop.primaryDomain.url }}/apps/saku-print?orderId={{ order.legacyResourceId }}&confirmationNo={{ order.confirmationNumber }}&type=receipt&locale=en

Shopify Flow replaces the {{ … }} parts for each order automatically. You do not need to change them by hand.

  • {{ shop.primaryDomain.url }}: your store URL
  • {{ order.legacyResourceId }}: the order ID (number)
  • {{ order.confirmationNumber }}: the order's confirmation number

The document opens only when the order ID and confirmation number match. Customers can open the receipt from the button without logging in.


3️⃣ Save and turn on the workflow

Click "Turn on workflow" at the top right. LINE messages are sent for orders paid after you turn it on. (Orders from before you turn it on do not get a message.)


4️⃣ Check with a test order

Place a test order with a customer account that is linked to LINE. After payment, a message with a "Receipt" button arrives on LINE. Tap the button and check that the receipt opens.

The receipt opened from the LINE Receipt button

Tapping the button on LINE opens the receipt for that order.


Other documents and Japanese documents

The document the button opens is set by type=receipt and locale=en near the end of the link.

Change the document type: change only receipt in type=receipt (the part after =) to one of these words.

Document you want to open Word to put after type= Example after the change
Receipt receipt (the original) type=receipt
Invoice invoice type=invoice
Delivery note delivery_note type=delivery_note
Quotation quotation type=quotation

For example, for an invoice button, the link looks like this (only the part after type= has changed).

{{ shop.primaryDomain.url }}/apps/saku-print?orderId={{ order.legacyResourceId }}&confirmationNo={{ order.confirmationNumber }}&type=invoice&locale=en

Also change the button label ("label": "Receipt") to match, for example "label": "Invoice".

Open a Japanese document: change en in locale=en to ja, so it reads locale=ja.

  • Receipts and delivery notes open for paid orders. For unpaid orders, a message says the order has not been paid yet.
  • To show two or more buttons, such as a receipt and an invoice, copy { "type": "button", … } inside "footer" and put the copies in a row, separated by commas (,).


Hydrogen (headless) stores

On Hydrogen stores, /apps/saku-print links do not open. Stores on the Hydrogen plan have a dedicated document entry (https://receipt.saku-apps.com/document). This entry is a Hydrogen plan feature (free to try on development stores).

Replace the link in the "uri" line of the Flex Message code with this link.

https://receipt.saku-apps.com/document?shop={{ shop.myshopifyDomain }}&orderId={{ order.legacyResourceId }}&confirmationNo={{ order.confirmationNumber }}&type=receipt
  • {{ shop.myshopifyDomain }} is filled in automatically with your store's myshopify domain (for example, example.myshopify.com).
  • To change the document type, change only receipt in type=receipt, as above.
  • For English, add &lang=en to the end of the link.

For details, see "Setup guide for Hydrogen (headless) stores".


Using other LINE or messaging apps

Other LINE or messaging apps that send messages through Shopify Flow should work the same way if you put the same link in the message. Field names and message formats differ by app, so always check with a test order that the receipt opens from the button or link.


Reference links


Troubleshooting

  • The LINE message does not arrive
    Check that the workflow is turned on. Customers who are not linked to LINE do not receive messages. See the CRM PLUS on LINE help for how linking works. You can also check for errors under "Recent runs" in Shopify Flow.
  • The Flex Message container shows an error
    Part of the code may be missing. Copy all of the code in this article again, from the first { to the last }, and paste it.
  • The button shows "Order not found"
    Check the link variables. Use {{ order.legacyResourceId }} (the numeric order ID) for orderId=. {{ order.id }} does not work.
  • The button asks you to log in again
    The confirmationNo={{ order.confirmationNumber }} part of the link may be missing or changed. Copy the link in this article again and paste it.
  • The page says the order has not been paid
    Receipts open for paid orders. Use "Order paid" as the trigger.
  • On a Hydrogen store, the button does not open the document
    Check that the link is not still /apps/saku-print. Replace it with the link in "Hydrogen (headless) stores" above.

If the problem continues, contact info@saku-apps.com.

To send receipts by email, see "How to add receipt buttons to notification emails" and "How to send order confirmation emails from other email apps".