A案(今回追加した列を削除し、手入力列を正とする)の削除計画21ペアを、実行前に台帳の実データで1ペアずつ検証しました。11ペアはそのまま消して問題ありませんが、10ペアは「残す側」に金額が無い・大きく過少・品目が足りない、という状態です。このまま全部消すと約¥57,822の金額記録が台帳から消え、約¥36,214が過少計上になります。
Otakeさんにしか答えが無いものだけ。ここをお願いします。
削除をどこまで走らせるか要判断
不可逆・台帳の金額に直接効く私の考えは②です。①は¥57,822の記録消失と¥36,214の過少化を伴い、二重を消すために正しい数字を捨てることになります。③は二重¥248,223をこれ以上放置することになる。②なら実害ゼロで7割方が片付き、残りは金額を直してから消せます。金銭・不可逆なので選択肢は事前選択していません。
無回答なら 回答があるまで削除は実行しません(不可逆のため既定進行なし)
手入力とAmazonで金額が食い違う時、どちらを台帳の正とするか要判断
月次の発注金額集計の精度実データでは手入力側が過少なパターンが目立ちます。例: 館山7/19「水 数量4」は手入力¥4,044 / Amazon実額¥16,480(単価だけ書いて数量倍していない)。麻布台7/04 ハートランドは手入力¥3,172 / 実額¥6,345(ちょうど2倍)。晴海・京都・南葉山の一部タブは日付列に金額列すら無く、数量チェックだけの運用です。
無回答なら 回答があるまで金額の書き換えはしません
私が決めました。違うものだけ触ってください(無操作=この通り進めます)。
二重行の根因は「短縮化」より先に「ASIN照合」で潰した追認
次回以降の取り込み全部に効く実測(7月CSV 228品目)ではASIN一致154 / fuzzy追加45 / 外れ29。台帳のASIN保有率は全体62%(麻布台100%・晴海85% ↔ 九十九里27%・館山31%)。単体テスト15項目PASS。
推奨 ① この線でいい — 短縮化だけでは「水」と「い・ろ・は・す 2L PET ×8本」は一致しないので、根因は塞がらない
無回答なら この実装で運用します
商品名の短縮を取り込みフェーズに組み込んだ追認
台帳の可読性・次回以降の照合7月CSV 251品目を全件短縮(平均69.1字→22.1字)。例「サーモス シリコーン菜ばし ブラック キッチンツール KT-C001 BK」→「菜ばし / サーモス」。次回以降はマップヒットでAPIを呼びません。
推奨 ① この線でいい — 取り込みの外に置くと「短縮を忘れたまま実行」が起きる。中に入れて失敗時は止める形にした
無回答なら この実装で運用します
「未反映17日分」は誤りで、実際は2グループ ¥6,442 だけだった追認
再取り込みの工数が1/10に判定を常設スクリプト audit_csv_vs_ledger.py にしました。「日付列があるか」ではなく中身のASIN一致率と金額で見ます。
推奨 ① この2件だけでいい — 旧リストは失敗ログのrc=0数え由来で、台帳の中身を見ていなかった
無回答なら 2件だけ再取り込みします
SYLA_逗子葉山 の7/08・7/12は「一部だけ反映」で残っている追認
SYLA 1施設・¥173,000相当推奨 ① Q2と一緒でいい — 先に触ると金額の正本方針が決まる前に台帳を2回書き換えることになる
無回答なら Q2の答えと一緒に処理します
実装・反映済みの事後報告。読むだけで大丈夫です。
削除ペアの安全性を実行前に検証するスクリプトを常設化済
verify_delete_plan.py。削除対象列と同日に残る列を行レベルで並べ、品目数・金額のズレで安全/要確認を機械判定します。日付列の右隣が金額列でないシート(晴海BR〜BU)も「金額列なし」と明示。今回の10ペアはこれで見つかりました。
推奨 ① これでいい
同じ既存行に2品目をぶつけないガードを入れた済
従来は同じ行に2品目が当たると片方の数量が上書きで消えていました。埋まっていたら新規行に落とします。
推奨 ① これでいい
回答テキスト(自動生成・差分だけ出ます)
下の枠内で Ctrl+A → Ctrl+C でコピー