Skip to content

Best Beer Japan

This integration allows you to connect Best Beer Japan (BBJ) with BrewKeeper by creating a dedicated BBJ shop, enabling you to track orders and sales separately from your other sales channels.

By exporting CSV files from BBJ, BrewKeeper can:

  • Import and update products and their variants
  • Import Orders to reserve sales inventory

Once imported, you can add BBJ orders to your Dispatch Centre to manage fulfillment and shipping.

Current limitations:

  • Cannot update existing orders by importing a CSV
  • Cannot export order data back to BBJ to update fulfillment statuses

Complete these steps to set up your BBJ integration. Steps 1-4 are one-time setup tasks, while step 5 (importing and tracking products) should be repeated whenever you add new products or update existing ones in BBJ.

  1. Navigate to Sales & Distribution > Settings

  2. In Shop Settings section click and select New BBJ Shop

    New BBJ Shop button
  3. Input Description, check the Currency, Country and Taxes included inputs are as expected

    New BBJ Shop form
  4. Click

  1. Navigate to Sales & Distribution > Settings > Sales Channels

  2. Click

    New Sales Channel button
  3. Input Name (something like BBJ or Best Beer Japan) and press

    New Sales Channel form
Section titled “3. Link the BBJ Shop Location to the Sales Channel”
Link Sales Channel button
Link Sales Channel form

4. Set up Shipping Carriers for Dispatch Centre

Section titled “4. Set up Shipping Carriers for Dispatch Centre”

Not necessary, but recommended if you want your shipping dates to be calculated when you import your orders.

  • 基本佐川急便(沖縄・離島のみ日本郵便) (Default Sagawa Express (Okinawa / Remote Islands Japan Post))
  • 直接受取 (Direct Pickup)

Create the Shipping Codes in BrewKeeper if they do not already exist.
Shipping codes are created automatically when you import orders

  1. Navigate to Sales & Distribution > Settings > Shop Settings

  2. Click on your BBJ shop

  3. Find the “Shipping Codes” section and click

  4. For Shipping Code, input 基本佐川急便(沖縄・離島のみ日本郵便)
    For Description, input 基本佐川急便(沖縄・離島のみ日本郵便)
    Leave Flat Rate and Icon hint empty

  5. Click

  6. Repeat steps 3-5 for 直接受取

Assign your Shipping Codes to a Shipping Carrier
This assumes you already have a Sagawa Shipping Carrier set up in BrewKeeper

  1. Navigate to Sales & Distribution > Settings > Shipping Carriers

  2. Click the edit icon ✏️ next to your Sagawa Shipping Carrier

  3. Click the Shipping Codes select section and select 基本佐川急便(沖縄・離島のみ日本郵便)

  4. Click

  5. Repeat the same for 直接受取 Shipping Code with your Direct Pickup Shipping Carrier

Import products

  1. Download the Products CSV from Best Beer Japan

  2. Navigate to Sales & Distribution > Settings > Shops > BBJ > Import Products CSV

  3. In the Import section, click Browse... and select the Products CSV file

  4. Click button

  5. Select the products you wish to import

  6. Double check the Product Type select is correct (Beer)

  7. Click

Track products

  1. Navigate to Sales & Distribution > Sales Centre > Shop Products

  2. Select the BBJ shop from the Shop select

  3. Uncheck the ⚠️ button if it is depressed to show all products

  4. Open a Shop Product

  5. From the select input, find the corresponding Product Catalog Product for the Shop Product and click Start tracking

  6. For each Variant, click the button.
    The SKUS must match to be able to track inventory. If there is a mismatch, fix the SKU in BBJ, download the CSV, and re-import the products. This will update the SKUs.


  • Customers do not come with a unique ID, so we match by (N) 店舗名 (Store Name).
    THIS MEANS IF A CUSTOMER ORDERS FROM A DIFFERENT STORE NAME, A NEW CUSTOMER WILL BE CREATED

The intended workflow for importing orders is

  1. Export products csv from Best Beer Japan

  2. Import products csv into BrewKeeper
    Found in Sales & Distribution > Settings > Shops > BBJ > Import Products CSV

  3. Track BBJ product inventory
    Link BBJ Shop Products to the Product Catalog in BrewKeeper

  4. Export orders csv from Best Beer Japan

  5. Import orders csv into BrewKeeper
    Found in Sales & Distribution > Settings > Shops > BBJ > Import Orders CSV

Steps 1️⃣, 2️⃣, and 3️⃣ only need to be done once, unless you add new products to Best Beer Japan and need to import them.*

Deleting a BBJ Shop Variant / Shop Product in BrewKeeper

Section titled “Deleting a BBJ Shop Variant / Shop Product in BrewKeeper”

You can delete any BBJ Shop Variant or Shop Product in BrewKeeper. If you import a CSV with the same external IDs of those you have deleted, they will be un-deleted.

The reason being, there is no indication in the CSV that a product has been deleted in BBJ.

Example:

  • Shop Variant 販売価格 = 9040
  • Order Line Item 価格 = 9944

The Shop Variant price is the price BEFORE tax is added.

Creating Shop Products

Best Beer JapanBrewKeeper
商品IDShopProduct.external_id
商品規格IDShopVariant.external_id
商品名ShopProduct.title
商品コードShopVariant.sku
規格分類1(名称)ShopVariant.title
販売価格ShopVariant.price
Series TitleDescription
(A) 商品ID (Product ID)1
2
(D) 商品名 (Product Name)【樽】一期一会 (セゾン / 5.0%)
(J) 商品規格ID (Product Specification ID / Shop Variant ID)(empty)
(M) 規格分類1(ID) (Specification Category 1 ID)1
(N) 規格分類1(名称) (Specification Category 1 Name / Shop Variant Title)10L
(S) 商品コード (Product Code / SKU)BIGI25-KL10
(X) 販売価格 (Sales Price)9040 (price before tax; the order line item would be 9944)
Series TitleDescription
(B) 公開ステータス(ID) (Publication Status ID)1
(C) 公開ステータス(名称) (Publication Status Name)公開 (Published)
(E) ショップ用メモ欄 (Shop Memo)(empty)
(F) 商品説明(一覧) (Product Description)(empty)
(G) 商品説明(詳細) (Product Description - Detailed)(empty)
(H) 検索ワード (Search Keywords)(empty)
(I) フリーエリア (Free Area)(empty)
(K) 販売種別(ID) (Product Type ID)1
(L) 販売種別(名称) (Product Type Name)販売種別A (Beer)
(O) 規格分類2(ID) (Specification Category 2 ID)(empty)
(P) 規格分類2(名称) (Specification Category 2 Name)(empty)
(Q) 発送日目安(ID) (Shipping Date Estimate ID)2
(R) 発送日目安(名称) (Shipping Date Estimate Name)1~2日後 (1-2 days later)
(T) 在庫数 (Stock Quantity)9
(U) 在庫数無制限フラグ (Unlimited Stock Flag)FALSE
(V) 販売制限数 (Sales Limit)(empty)
(W) 通常価格 (Regular Price)(empty)
(Y) 商品画像 (Product Image)(empty)
(Z) 商品カテゴリ(ID) (Product Category ID)1
2
(AA) 商品カテゴリ(名称) (Product Category Name)樽 (Keg)
瓶・缶 (Bottle / Can)
(AB) タグ(ID) (Tag ID)(empty)
(AC) タグ(名称) (Tag Name)(empty)

The entirety of the integration is just to create orders.
The user uploads the CSV to BrewKeeper which creates the Orders in BrewKeeper.
Orders already imported will be skipped.

If an order with the external id from (A) 注文ID (Order ID) already exists, it will be skipped.

  • Order name = (G) 注文番号 (Order Number)
  • Payment status on orders will hard coded to “pending

Sagawa Timeslots are converted

If the order has a shipping code that is a Sagawa Carrier, the timeslots will be automatically updated to the relevant eHiden timeslot code for the eHidenIII CSV

TimeslotCode
午前中01
12~14時12
14~16時14
16~18時16
18~21時04

If the timeslot code is unrecognised, it will be left as-is.

The order may have a different phone and email than the customer, thats normal.

Best Beer JapanBrewKeeper
メールアドレスCustomer.email
お名前(名)Customer.first_name
お名前(姓)Customer.last_name
会社名Customer.company
TELCustomer.phone

A Unique ID is not provided for the Customer, so we will use the Store name 店舗名

Match by email address (T) メールアドレス (Email Address)

Best Beer JapanBrewKeeper
店舗名Customer.external_id
メールアドレスCustomer.email
お名前(名)Customer.first_name
お名前(姓)Customer.last_name
会社名Customer.company
TELCustomer.phone

Identified by:

  • 明細区分(ID) = 1 (product)

Example rows for 2x Orders (1001 & 1002). The following table only shows the relevant columns

注文ID商品名商品コード明細区分(ID)価格個数税率税率ルール(ID)
1001【樽】秋の気まぐれ (6.0% / レッドIPA)RIPA-KL15111517101
1001送料21012101
1001PF送料無料キャンペーン2-1012101
1002送料20101
1002【樽】一期一会 (セゾン / 5.0%)BIGI25-KL1019944101

Identified by:

  • 明細区分(ID) = 2 (postage)

Example rows for 2x Orders (1001 & 1002). The following table only shows the relevant columns

注文ID商品名明細区分(ID)価格税率税率ルール(ID)
1001【樽】秋の気まぐれ (6.0% / レッドIPA)111517101
1001送料21012101
1001PF送料無料キャンペーン2-1012101
1002送料20101
1002【樽】一期一会 (セゾン / 5.0%)19944101

Manually calculated fields for Order 1001:

  • total_undiscounted_shipping_price = 1012 (sum of the shipping positive totals)
  • total_discounted_shipping_price = 0 (net shipping totals)
  • total_shipping_discount_allocation_amounts = 1012 (positive total - net total)
    • NOTE: this is a Shopify field, might not need to be set, but setting it anyway
  • total_shipping_tax = 0
    • calculated from the discounted shipping total, the tax rate, and the shop tax inclusive setting
  • shipping_tax_rate = 10 (gets the first tax rate, all shipping tax rates must be the same)
Series TitleDescription
(A) 注文ID (Order ID)

Saved to BrewKeeper as the external id.

(G) 注文番号 (Order Number)

Same as Order ID; BBJ settings could make it differ (such as adding a year prefix).

(I) お名前(姓) (Name - Last)Customer last name.
(J) お名前(名) (Name - First)Customer first name.
(M) 会社名 (Company Name)

Common examples:

  • [飲食][BBJプラットフォーム経由]
  • CBK
  • 貴社用のテスト会社
(N) 店舗名 (Store Name / Unique ID)

No unique customer ID is provided, so this field is used to match customers.

  • 合同会社Addict ビアカフェ ガンブリヌス
  • 麦髭屋 高城沙耶 麦髭屋
  • 合同会社curaとさかずき 酒とおばんざいいそいそ
(O) 郵便番号 (Postal Code)

Examples:

  • 3510011
  • 6518446
(P) 都道府県(ID) (Prefecture ID)

The ids correspond directly to the prefecture code

Examples:

  • 26 is for Kyoto, which is JP-26
  • 11 is for Saitama, which is JP-11
(Q) 都道府県(名称) (Prefecture Name)
  • 京都府
  • 埼玉県
(R) 住所1 (Address 1)Primary address line.
(S) 住所2 (Address 2)Secondary address line.
(T) メールアドレス (Email Address)Customer email.
(U) TEL (Phone Number)Customer phone number.
(AA) ショップ用メモ欄 (Shop Memo Field)Free-form shop memo.
(AB) 小計 (Subtotal)

Sum of 価格 (column AV); this subtotal is tax inclusive.

(AC) 値引き (Discount)

Positive integer discount amount.

(AD) 送料 (Shipping Fee)Shipping charge for the order.
(AE) 合計 (Total)

合計 (AE) = 小計 (AB) - 値引き (AC) + 送料 (AD)

(AK) 受注日 (Order Date)Order receipt date.
Line Item details
(AM) 注文詳細ID (Order Detail ID)

Line item identifier; shipping, shipping discounts, and other line items each get unique IDs.

  • 253
  • 254
  • 255
(AN) 商品ID (Product ID)
  • nil
  • 1
  • 1

Repeated IDs indicate the same product with different variants.

(AO) 商品規格ID (Product Specification ID)

Variant identifier.

(AP) 商品名 (Product Name)

Line item description.

When product and variant IDs exist:

  • 【樽】秋の気まぐれ (6.0% / レッドIPA)
  • 【樽】一期一会 (セゾン / 5.0%)

When product / variant IDs are missing:

  • 送料 (Postage)
  • PF送料無料キャンペーン (Free Shipping Campaign)

Other possibilities include 手数料 (Handling Fee).

(AQ) 商品コード (Product Code)

SKU for the line item, such as:

  • BIGI25-KL10
  • BIGI25-KL15
(AR) 規格名1 (Option Name 1)
  • (Keg)
(AS) 規格名2 (Option Name 2)Additional option name.
(AT) 規格分類名1 (Option Category Name 1)
  • 10L
  • 15L

Ideally matches BrewKeeper’s Variant Type description, though customer-facing text may differ.

(AU) 規格分類名2 (Option Category Name 2)Additional option category.
(AV) 価格 (Unit Price)

Prices are after tax.

Examples for shipping and discounts:

  • 送料 (AP) = 1012 (AV)
  • PF送料無料キャンペーン (AP) = -1012 (AV)
(AW) 個数 (Quantity)Line item quantity.
(AX) 税率 (Tax Rate)
  • 10
(AY) 税率ルール(ID) (Tax Rate Rule ID)

There are 3 options in BBJ for the user to choose.

  1. 四捨五入 — “Round to nearest” → Standard rounding: round down if < 0.5, round up if ≥ 0.5
  2. 切り捨て — “Round down” (truncate) → Always rounds toward zero, removing any fraction
  3. 切り上げ — “Round up”→ Always rounds upward, even for small fractions

Additionally, the ID is fixed (always 1), 10% is fixed (never 8%)

By default, BrewKeeper will use the first option. (四捨五入 — “Round to nearest”).

(AZ) 明細区分(ID) (Line Item Type ID)

Identifies product vs shipping vs COD fee:

  • 1 = Product
  • 2 = Shipping
  • 3 = COD fee
(BA) 明細区分(名称) (Line Item Type Name)
  • 商品 (Product)
  • 送料 (Shipping)
  • 手数料 (Handling Fee)
(BB) → (BN) Ship-To detailsGrouped ship-to fields outlined in the following rows.
(BB) 出荷ID (Shipment ID)

Appears to match Order ID, possibly by coincidence.

(BC) 配送先_お名前(姓) (Ship-To Name - Last)Ship-to last name.
(BD) 配送先_お名前(名) (Ship-To Name - First)Ship-to first name.
(BE) 配送先_お名前(セイ) (Ship-To Name - Last Kana)Ship-to last name in katakana.
(BF) 配送先_お名前(メイ) (Ship-To Name - First Kana)Ship-to first name in katakana.
(BG) 配送先_会社名 (Ship-To Company Name)Company name for delivery.
(BH) 配送先_店舗名 (Ship-To Store Name)Store name for delivery.
(BI) 配送先_郵便番号 (Ship-To Postal Code)Delivery postal code.
(BJ) 配送先_都道府県(ID) (Ship-To Prefecture ID)Prefecture identifier for the ship-to address.
(BK) 配送先_都道府県(名称) (Ship-To Prefecture Name)Prefecture name for the ship-to address.
(BL) 配送先_住所1 (Ship-To Address 1)Primary ship-to address line.
(BM) 配送先_住所2 (Ship-To Address 2)Secondary ship-to address line.
(BN) 配送先_TEL (Ship-To Phone Number)Delivery phone number.
(BP) 配送業者(名称) (Shipping Carrier Name)
  • 基本佐川急便(沖縄・離島のみ日本郵便) (Basic Sagawa Express (Okinawa & remote islands Japan Post))
  • 弊社指定配送業者 (Our designated carrier)
  • 直接受取 (Direct receipt)
(BQ) お届け時間ID (Delivery Time ID)Preferred delivery time identifier.
(BR) お届け時間(名称) (Delivery Time Name)Preferred delivery time label.
(BS) お届け希望日 (Preferred Delivery Date)Requested delivery date.
(BT) 送料ID (Shipping Fee ID)Identifier for the shipping fee entry.
(BU) 送料 (Shipping Charge)Shipping amount charged.
(BV) 発送日 (Ship Date)Date the order was shipped.
(BW) 出荷伝票番号 (Shipment Slip Number)Shipment slip / tracking number.
(BX) 配達用メモ (Delivery Memo)Delivery notes.
(BY) 出荷メール送信日 (Shipment Email Sent Date)Date the shipment email was sent.
Series TitleDescription
(B) アルコール度数 (Alcohol Content)

Examples:

  • 5.50
  • 6.00
(C) ビール種別 (Beer Type)
  • 350: ビール
  • 581: 発泡酒(1): 麦芽含有率50%以上又はアルコール分10度以上のもの
(D) ビアスタイル (Beer Style)

This directly maps to (C). IPAs and other beers are 350. Happoshu can be 581, 582, 583.

  • IPA
  • その他スタイル
(E) 容器 (Container)

Always has the number 1; exact meaning unknown.

(F) BBJ注文番号 (BBJ Order Number)

“Not currently used. 現状使われていません”

(H) 会員ID (Member ID)

The ID of column (BZ) 会員グループ (Member Group).

Q: We’ve seen mainly 1 but we saw 2 on our first order. What is it? Or rather, will we only ever see 1 moving forward?

A: This will only be 1. There are a few test orders in the system at first set up which come from different 会員 but since you are only using for the platform it will be 1 in your case.

(K) お名前(セイ) (Name - Last Kana)Customer last name in katakana.
(L) お名前(メイ) (Name - First Kana)Customer first name in katakana.
(V) 性別(ID) (Gender ID)Gender identifier.
(W) 性別(名称) (Gender Name)Gender label.
(X) 職業(ID) (Occupation ID)Occupation identifier.
(Y) 職業(名称) (Occupation Name)Occupation label.
(Z) 誕生日 (Date of Birth)Customer date of birth.
(AF) 支払合計 (Total Payment)

Paid grand total; can be ignored for the initial integration.

(AG) 対応状況(ID) (Order Status ID)

ID to label mapping:

  • 1: 新規受付 (New Order)
  • 3: 注文取消し (Order Cancelled)
  • 4: 対応中 (In Progress)
  • 5: 発送済み (Shipped)
  • 6: 入金済み(一般顧客) (Paid - General Customer)
  • 9: 返品 (Returned)
  • 10: 請求済み (Invoiced)
  • 11: 入金済み(BtoB) (Paid - B2B)
(AH) 対応状況(名称) (Order Status Name)Label for (AG) 対応状況(ID).
(AI) 支払方法(ID) (Payment Method ID)Payment method identifier.
(AJ) 支払方法(名称) (Payment Method Name)Payment method label.
(AL) 入金日 (Payment Date)Payment received date.
(BO) 配送業者(ID) (Shipping Carrier ID)
  • 1
  • 5
  • 6
(BZ) 会員グループ (Member Group)

See Member Group Settings (BZ) below.

(CA) 請求月 (Billing Month)Billing month.
(CB) 容器容量 (Container Volume)Container volume.

(It looks like) You can assign customers to groups, and they get different pricing rules.

These are settings per Brewery. An example of what the Member Group settings page looks like in Best Beer Japan

IDグループ価格ルール業種区分会員数
1ゲスト0円引飲食店37
2問屋20%割引問屋8
3Another group0円引飲食店1
4お得意様10%割引飲食店2

English translation

IDGroupPrice RuleBusiness TypeMembers
1Guest¥0 DiscountRestaurant37
2Wholesale20% DiscountWholesale8
3Another group¥0 DiscountRestaurant1
4Preferred Customer10% DiscountRestaurant2