044刊行 2026-10-22 ・ 読了約6分
レジは、ひとりで作れるのか。
Can One Person Build a POS Register?
Airレジの主要機能43項目を、ひとりで1ファイルのレジに作り込んだ。35項目は動いた。残った8項目はコードの難しさではなく、カード会社の審査や税務署の許可だった。カード決済は作れないのではなく、レジがカード番号を持つこと自体を法律が止めていた。
調べ方Airレジ公式の機能一覧43項目を試験にして、ブラウザで動くレジを自作し、操作試験29本で確かめた
- 規模
- 1ファイル1,118行・操作試験29本
- 触れる
- 作ったレジで、実際に会計してレシートまで出せる
- 結論
- 35項目は作れた。残り8は審査や許可。
要旨── 43項目のうち、35項目は作れた
Airレジは無料で使える。iPad に入れれば、その日から店のレジになる。では、あれと同じものを、ひとりで作れるのか。
試験には、Airレジの公式サイトに並んでいる主要機能の一覧を使った。注文入力・会計・商品・割引・在庫・顧客・店舗運営の7つに分かれ、全部で43項目ある。これを1つずつ、自作のレジに作り込んでいった。
作ったレジは、ブラウザで動く1枚のページで、1,118行になった。43項目のうち35項目は、そのレジの中で動いた。バーコードの読み取りも、軽減税率も、返品も、棚卸も、売掛金も作れた。
残った8項目は、どれもコードの難しさではなかった。カード会社の審査、税務署の許可、メーカーの機械、そして端末どうしをつなぐサーバー。とくにカード決済は、作れないのではなかった。レジがカード番号を持つこと自体を、法律が止めていた。
作れないのではなく、持ってはいけない。
方法── 本物の機能一覧を、試験にする
- 試験
- Airレジ公式サイトの「機能一覧」にある「主要機能一覧」の43項目(2026年10月22日に確認)。項目の名前だけが並び、説明は無いので、意味は同じサイトの会計や商品設定のページで確かめた。
- 作ったもの
- ブラウザで動くレジ。1つの HTML ファイルに画面・計算・保存をすべて入れた(1,118行、うち JavaScript 762行)。データはその端末のブラウザの中(localStorage)だけに置き、どこにも送らない。サーバーは使っていない。見本として、架空の喫茶店の商品10品と30日分の取引を入れた。
- 書き手
- コードは AI(Claude)が書いた。書き始めてから、下の操作試験がすべて通るまで、およそ10分だった。調べものの時間は含まない。
- 確かめ方
- ブラウザを自動で動かして、レジを実際に操作する試験を29本作った。店内で注文して会計する、バーコードを読む、席に伝票を保留して呼び出す、3人で割り勘する、返品する、Shift_JIS の CSV で商品を登録する、回線を切る、などである。29本すべてが通った。
- 仕分け
- 43項目を、自作のレジで動いたかどうかと、動かなかった理由で4つに分けた。「作れた」「サーバーが要る」「外の審査・許可が要る」「機械が要る」である。
35項目は、1台の中で動いた── 残りの8は、4種類の壁
43項目を、動いたかどうかで塗り分けた。色の濃いところが、自作で越えられなかった壁である。
注文入力(5)
- 商品画像で注文
- バーコードリーダー対応
- オーダーシステム対応(サーバーが要る)
- オフラインでも利用可能
- イベントなどの屋外利用可能
会計(7)
- キャッシュレス決済(審査)
- 部門打ち
- 個別会計
- 担当者や個室ごとの会計
- 自動つり銭機対応(機械)
- 非接触会計に対応(審査)
- 返品、返金対応
商品登録・設定(8)
- 大量の商品のCSV一括登録
- 税率の商品別設定
- 商品画像の登録
- 原価設定
- 商品バリエーション設定
- NON-PLUバーコード対応
- レセコン出力のバーコード対応(仕様)
- 独自バーコード一発自動発番
販売・割引設定(6)
- まとめ買い割引
- クーポン、金券利用
- 量り売り
- 免税販売(許可)
- 軽減税率販売
- 非課税対応
在庫管理・棚卸(6)
- 会計と在庫数の自動連携
- 在庫変動履歴確認
- 在庫切れ通知
- バーコード入荷
- CSV一括登録、編集
- 棚卸機能
顧客管理(4)
- 氏名、性別、連絡先
- 来店日、回数
- 購入履歴参照
- お客様メモ
店舗運営(7)
- 売上自動集計
- 席管理、予約管理
- 席や担当者ごとの売上管理
- 売掛金管理
- 売上分析(日別、月別、商品別など)
- 外部会計ソフト連携(登録)
- 複数店管理(サーバーが要る)
在庫・顧客・割引は、ほとんど全部が作れた。壁は会計の列と、店の外とつながる項目に集まっている。「非接触会計」は説明が無かったので、Airレジと組み合わせて使う iPhone のタッチ決済のことと読んだ。「レセコン出力のバーコード」は、薬局のレセプトコンピュータが出す価格入りのバーコードのことだと、公式の商品設定のページに書いてある。
技術の壁は、1つも無かった。
カード番号を、レジに入れてはいけない── キャッシュレスの2項目
カード決済の仕組みそのものは、作ろうと思えば書ける。止めているのは、2018年6月に施行された改正割賦販売法である。
カードを扱う店(加盟店)は、カード番号が漏れないように管理することが法律で義務になった。実務の指針では、まずカード番号を自分のところに置かない「非保持化」を基本にする。対面の店なら、レジの機能と決済を分け、IC カードに対応した決済専用の端末を使い、カード番号を自社のシステムに電子的に取り込まないことが求められる。
レジと決済端末をつなぐ場合でも、レジに渡ってよいのは金額と、決済が通ったかどうかだけである。そうしておけば、カード番号はレジの回線もサーバーも通らないので、非保持化と認められる。逆に、カード番号がレジを通るなら、その店はカード業界の安全基準(PCI DSS)に準拠しなければならない。
だから自作のレジは、カードの会計ボタンを押すと「このレジの外の決済端末で受けます。端末に金額を入れ、通ったのを確かめてから押してください」と出すだけにした。タッチ決済も同じである。その端末を店に置くには、決済会社に申し込み、審査を通る必要がある。Airレジでも、キャッシュレス決済を使うには Airペイの申し込みと審査が要る。
レジが知っていいのは、金額と、通ったかどうかだけ。
免税販売は、10日後に仕組みが変わる── 許可・仕様・機械・サーバー
残りの6項目も、壁の向こうにあるのはコードではなかった。
| 項目 | 越えられなかった理由 |
|---|---|
| 免税販売 | 外国人旅行者への免税販売は、店ごとに、納税地の税務署の許可を受けた店しかできない。しかも2026年11月1日の購入分から、出国時に税関で持ち出しが確認されてから消費税を返金する「リファンド方式」に変わる。 |
| レセコン出力のバーコード | 価格入りバーコードの読み方は作れた。ただし、先頭の数字や価格の桁数は機械ごとの設定で変わる。薬局のレセコンが実際にどの形で出すかは、その機械の仕様を見ないと決められない。 |
| 外部会計ソフト連携 | 日ごと・税率ごとにまとめた仕訳の CSV までは作れた。会計ソフトへ自動で送るには、各社の仕組みに自分のアプリを登録して、つなぐ許可を受ける必要がある。 |
| 自動つり銭機対応 | お金を数えて出す機械を、メーカーの決めた方法でつなぐ必要がある。実物が手元に無いと、作っても確かめられない。 |
| オーダーシステム対応 | 店員の手元の端末で注文を取り、レジや厨房へ送る仕組み。席に伝票を保留する所までは1台の中で作れたが、端末どうしで同じ伝票を見るにはサーバーが要る。 |
| 複数店管理 | 店ごとの売上や在庫を本部でまとめて見る仕組み。これもサーバーと、店ごとのログインが要る。 |
免税販売の変更は、この記事を書いた日から10日後の11月1日である。免税店のレジは、それまでに新しい手続きに合わせなければならない。ひとりで作ったレジには、この「制度の側が動く」ことへの追従が、ずっと付いて回る。
サーバーが要る2項目は、作ろうと思えば作れる。ただ、オフラインで動く端末が2台になった瞬間に、「回線が切れていた間に、両方で同じ最後の1個を売った」という問題が生まれる。1台の中だけで動かしている限り、この問題は起きない。今回のレジが35項目まで行けたのは、1台に閉じていたからでもある。
作れた項目の、小さな約束── 税率・端数・返品・バーコード
作れた35項目にも、作ってみて初めて分かった決まりがいくつかあった。
- 同じコーヒー
- 持ち帰りなら8%、店内なら10%になる。だから税率は商品に付けるだけでは決まらず、会計のたびに「店内か持ち帰りか」で付け直す。自作のレジでは、食品の8%の品を店内で売ると10%に切り替えている。
- 税の端数
- レシートに書く消費税は、品ごとに計算して足すのではなく、税率ごとの合計に対して1回だけ端数を処理する。インボイス制度の決まりである。レシートには登録番号と、税率ごとの合計と税額を書く。
- クーポン
- 8%の品と10%の品が混ざった会計で100円引きのクーポンを使うと、100円をどちらの税率から引くかを決めないと、税額が出せない。自作では、税率ごとの額の比で分けた。
- 割り勘
- 1,100円を3人で割ると、366円・366円・368円になる。割り切れない2円は、最後の人が持つことにした。
- 返品
- 元の取引は消さない。マイナスの取引を1件足し、在庫を戻す。消してしまうと、売上の記録をあとから書き換えたのと見分けがつかない。カードと PayPay の返金は、外の端末や管理画面で取り消す。
- 商品券
- 現金と違い、商品券ではおつりを出さない。支払い方法を分けておかないと、1,000円券で620円のタルトを買った人に380円を返してしまう。
- バーコード
- AI が見本の商品に付けた JAN コード3本は、3本とも最後の検査用の1桁(チェックデジット)が間違っていた。同じ AI が書いたレジは、その3本を「読み違いの可能性」として受け付けなかった。直したのは見本のほうである。
作ったレジで、会計してみる── データはこの端末の中だけ
下が、今回作ったレジそのものである。商品を押して「会計する」を押すと、レシートまで出る。店内と持ち帰りを切り替えると、合計は同じまま税率だけが変わる。
入力したものは、この端末のブラウザの中だけに保存され、どこにも送られない。カードと PayPay のボタンは、外の決済端末で受けた前提の記録だけをする。価格入りバーコードを試すなら、「0212345303504」を読み取り欄に入れると、ミックスナッツが価格入りで入る。「設定」の「見本のデータに戻す」で最初に戻る。
結論── 機能は作れる。作れないのは、信用のほう
レジは、1台の店で使う分なら、ひとりで作れる。Airレジの主要機能43項目のうち35項目が、サーバーも使わず、1つのファイルの中で動いた。
越えられなかった8項目を並べると、どれも「誰かに認めてもらう」話だった。カード会社の審査、税務署の許可、機械のメーカーの仕様、会計ソフト会社への登録。サーバーが要る2項目でさえ、本当に難しいのはサーバーを立てることより、売上と在庫を預かる責任のほうである。
無料のレジが成り立っている理由も、そこから読める。レジの機能そのものは、作れるものとして配れる。お金を受け取る部分は、審査の向こう側にある。ひとりで作ったレジを使うなら、カードは決済会社の端末に任せ、レジは「金額と、通ったかどうか」だけを覚えておけばいい。
次の問い:オフラインの2台は、どうやって同じ在庫になるのか。
ネタもと── 機能一覧・法令・制度
- AAirレジ「機能一覧」
試験にした主要機能43項目の出典。 - BAirレジ「会計」・「商品登録・商品設定」
キャッシュレス決済に Airペイの申し込みと審査が要ること、NON-PLU バーコードがレセコンの出力にも使われることの出典。 - Cペイメントナビ「セキュリティ対策がクレジットカード加盟店の法的義務に 6月1日に改正割賦販売法が施行へ」
改正割賦販売法(2018年6月施行)と、実行計画の非保持化・対面加盟店の要件の解説。 - D観光庁「リファンド方式とは」・「免税店になるには」
2026年11月1日購入分からのリファンド方式と、税務署への許可申請の出典。 - Eシャープ「PLU/JAN コードの入力方法について」(電子レジスタ)
02・20 で始まる価格入りコード(インストアマーキング NON-PLU)の先頭の数字や価格の桁が、レジの設定で変わることの出典。