muku-core
飲食店のレジのジャーナルを読んで、月の数字を分解し、Excelのワークブックにまとめます(v1 売上・v1core)。
レシピと食材の値段から原価を出し、納品書で毎月の単価を更新する部分も入っています(v2 原価・v2core)。
これは 「ムク」という商品の計算部分 です。単体では動きますが、単体では商品になりません。 ムクの本体は、数字をどう読んで何を問いかけるかを決めている憲章のほうで、そちらは 使用権をお持ちの方にお渡ししています。
できること
レジのジャーナルCSVを渡すと、正規化した3つの表(取引・明細・割引)に揃えて、 そこから18枚のタブを持つExcelのワークブックを作ります。
- 売上の分解(店内・テイクアウト・物販。レジが2台以上でも1冊にまとまります)
- 客数・客単価・組数・組単価・組人数
- 曜日別・時間帯別(チャネルで絞れます)
- 滞在時間・卓占有率
- カテゴリ別・商品ABC分析(原価を渡せば粗利率まで)
- 割引と返品
- 予算設計(前年実績で埋めてあります)
- 検算(合計が合っているか、何が取れていないか)
取れないものは空欄にします。推定で埋めません。 レジによって取れるものが違うので、ワークブックの設定タブに 「このお店のレジから読めるもの」の一覧が出ます。
対応しているレジ
| ジャーナル | 客数 | 原価 | 割引 | |
|---|---|---|---|---|
| Airレジ | ○ | ×(Airメイトから) | ○ | ○ |
| Airメイト | — | ○(会計数) | △ | × |
| MDでん票くん | ○(画面のコピーから) | ○(人数) | ○ | × |
でん票くんは明細のCSV出力を持たないレジですが、日報のXLSXと伝票画面のコピーから 同じ精度で読めます。
v2 原価(v2core)
レシピ(紙の写真・Excel・口頭)と食材の値段と売価を渡すと、食材マスタ・仕込み品マスタ・商品ごとの原価のExcelと、 料理本型・掲示型・原価版のPDFを作ります。月に一度、納品書の写真やインフォマートなどのCSVを渡すと、 食材の単価を更新して、理論原価率と実際の原価率、原価率が動いた要因、値上げのシミュレーション、棚卸し表を 月次のExcelと「今月のまとめ」にまとめます。
分からないところ(単価・歩留・仕上がりの量)は埋めずに空欄にして、お店に聞き返します。
v2 原価は v1 売上とは別売りです。
使い方
ふだんはClaudeが呼び出すので、直接触る必要はありません。
from v1core import airregi
from v1core.storeconfig import load
from v1core.workbook import build_workbook
config = load("store_config.json")
t = airregi.convert(["ジャーナル履歴_20260601-20260831.csv"], config=config)
build_workbook(t["txn"], t["lines"], t["discounts"], config,
daily=daily, target_ym="2026-08", out_path="ワークブック_202608.xlsx")
レジが2台以上ある店は v1core.multi.load(config) を使います。
使用許諾
オープンソースではありません。
- **ご自身のお店の分析に使うのは自由です。**台数も回数も制限しません
- 第三者の店舗の分析を業として請け負う場合は、別途の使用権が要ります。 コンサルティング・分析代行・自社サービスへの組み込み・研修教材としての利用が該当します
- 複製の配布、改変版の公開は禁じています
コードが公開されていることと、自由に使えることは別です。
全文は同梱の LICENSE.txt をご覧ください。
人の店で商売に使いたい方は、一度ご連絡ください。断るためではなく、 一緒にやれることがあるかもしれないので。
連絡先
t.watabe@mssbworks.com 株式会社ムササビ(mssbworks)
Metadata
Release files for muku-core 1.20261013.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| muku_core-1.20261013.2.tar.gz | 527.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| muku_core-1.20261013.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / muku_core-1.20261013.2.tar.gz
| Download URL | muku_core-1.20261013.2.tar.gz |
|---|---|
| Size | 527.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
91b9ece02731a3fc50c46fb8a109bc8084c4aa8fd9890e440448d22872e4bdab
|
|
BLAKE2b-256 checksum How to use checksums |
c7e7efe4cd0bacd8b50eb7e7d57f17dccb6c820d24777ed7109b66ad90907dd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / muku_core-1.20261013.2-py3-none-any.whl
| Download URL | muku_core-1.20261013.2-py3-none-any.whl |
|---|---|
| Size | 564.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a2595282ddcdaaade094388a4eaaaaccb449feb6f5fcf1a1cc2992e1ca8ec26
|
|
BLAKE2b-256 checksum How to use checksums |
af667cd57e241a75ed6413d0d633d2ce0f64f5a666fd1d9a7a16764741b1c418
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|