画廊が海外のオークションハウスから受け取る英文の落札明細を読み取り、ロットごとの落札額・手数料・追及権料・輸送費を仕入台帳に転記して、入札の記録との食い違いと支払・引取の期限を拾う
海外のオークションで落札したときに届く英文の落札明細を読み取り、ロットごとの落札額・購入者手数料・追及権料・税・輸送費を仕入台帳に写します。自社の入札の記録と照らし、食い違いと支払・引取の期限を担当者に返します。
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- その他/小売
- 対象部門
- 経理/購買
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/属人化している/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/属人化解消/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- メールで届いた落札明細のPDFを開き、ハウス・セールの番号と日付・通貨を確かめる
- ロットごとに、ロット番号・作家・題名・落札額・購入者手数料・税・追及権料を仕入台帳に写す
- 担当の美術商に、そのロットに入札したか、上限額はいくらだったかを確かめる
- ハウスの料率の表を見ながら、購入者手数料を電卓で検算する
- 支払の期限と、引取(倉庫からの搬出)の期限を予定表に入れる
- 輸送業者から別に届く請求書を開き、どのロットの輸送かを探して台帳に写す
- 経理が送金の手続きをする
- 人担当の美術商が、入札のたびに入札の記録(ハウス・セール番号・ロット番号・上限額・通貨)を共有の表に1行書く
- 人届いた落札明細と輸送の請求書を、受付フォルダ(Amazon S3)に置く
- 自動保存をきっかけに処理が動き、形式・サイズ・文字の大きさを確かめる
- 自動AWS Textract の請求書・領収書の分析が、見出しの言い方つきで合計・期限・明細の行を返す
- 自動取れなかった項目(セール番号・引取の期限)を、質問(Queries)で読み直す
- 自動明細の列の見出しを自社の項目表にそろえ、ロットごとに金額を分ける
- 自動入札の記録と照らし、ハウスの料率表で手数料を検算し、期限を予定表の下書きにする
- 自動仕入台帳に「確認待ち」の行を作り、照合の結果と根拠を付ける
- 人仕入担当が、食い違い・検算の差・読み取りの怪しい項目が出た行だけを確かめる
- 人経理が送金の手続きをし、台帳を確定する
各工程の詳しい説明を読む
- メールで届いた落札明細のPDFを開き、ハウス・セールの番号と日付・通貨を確かめる
- ロットごとに、ロット番号・作家・題名・落札額・購入者手数料・税・追及権料を仕入台帳に写す
- 担当の美術商に、そのロットに入札したか、上限額はいくらだったかを確かめる
- ハウスの料率の表を見ながら、購入者手数料を電卓で検算する
- 支払の期限と、引取(倉庫からの搬出)の期限を予定表に入れる
- 輸送業者から別に届く請求書を開き、どのロットの輸送かを探して台帳に写す
- 経理が送金の手続きをする
(a)書式が違い、見る場所が決まらない。 手数料を行ごとに書くハウスと、明細の下にまとめて書くハウスがあり、税が手数料だけに掛かるのか、落札額にも掛かるのかも明細ごとに読み解く必要があります。
(b)手数料の検算が手作業。 購入者手数料は落札額の帯ごとに料率が変わることが多く、料率の表はハウスとセールの時期で違います。 電卓での検算は、忙しい月から省かれます。
(c)期限が担当者の手元にしかない。 支払の期限と引取の期限は明細の下のほうに小さく書かれ、予定表に入れ忘れると、保管料が掛かり始めます。
(d)入札の記録が属人化している。 照合の材料が担当者のメモにしかなく、後任に引き継げません。
- 【人】 担当の美術商が、入札のたびに入札の記録(ハウス・セール番号・ロット番号・上限額・通貨)を共有の表に1行書く
- 【人】 届いた落札明細と輸送の請求書を、受付フォルダ(Amazon S3)に置く
- 【自動】 保存をきっかけに処理が動き、形式・サイズ・文字の大きさを確かめる
- 【自動】 AWS Textract の請求書・領収書の分析が、見出しの言い方つきで合計・期限・明細の行を返す
- 【自動】 取れなかった項目(セール番号・引取の期限)を、質問(Queries)で読み直す
- 【自動】 明細の列の見出しを自社の項目表にそろえ、ロットごとに金額を分ける
- 【自動】 入札の記録と照らし、ハウスの料率表で手数料を検算し、期限を予定表の下書きにする
- 【自動】 仕入台帳に「確認待ち」の行を作り、照合の結果と根拠を付ける
- 【人】 仕入担当が、食い違い・検算の差・読み取りの怪しい項目が出た行だけを確かめる
- 【人】 経理が送金の手続きをし、台帳を確定する
1番目が、この設計の前提です。 入札の記録が共有の表に無ければ、照らす相手がありません。属人化を解く仕組みは、AIの側ではなく入札の記録の側にあります。
9番目で人が見るのは、何か出た行だけです。 何も出なかった明細は、一覧でロットと金額を流し見て確定します。
02今回想定するシステム構成
落札明細(ハウスから)/輸送の請求書(輸送業者から) ▼【トリガー】受付フォルダ(Amazon S3)への保存 AWS Lambda ├──▶ 形式・サイズ・解像度の確認 ▼ AWS Textract(StartExpenseAnalysis:請求書・領収書の分析) │ 合計・期限・明細の行を、見出しの言い方と信頼度つきで返す ├──▶ 取れなかった項目だけ StartDocumentAnalysis(QUERIES)で読み直す ▼ 完了の通知(Amazon SNS) AWS Lambda(Python) │ ① 列の見出しを項目表にそろえ、ロットごとに金額を分ける │ ② 入札の記録と照らし、料率表で手数料を検算する │ ③ 支払・引取の期限を予定表の下書きにする ▼ 仕入台帳に「確認待ち」の行(照合の結果と根拠つき) ▼ 【人が食い違い・検算の差のあるものだけ確認】→ 経理の送金
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | AWS Textract(StartExpenseAnalysis。足りない項目は QUERIES で補う) | Azure AI Document Intelligence(請求書モデル)、Google Document AI |
| 差異計算 | 入札の記録との照合と、料率表による手数料の検算(Python。AWS Lambda で動かす) | ─ |
| 連携 | AWS Lambda(S3 への保存を起点に読み取りを始め、結果を台帳へ書く) | Amazon EventBridge |
| 保管 | Amazon S3(明細と読み取り結果) | 社内のファイルサーバー |
| 通知 | Amazon SNS(読み取りの完了の通知) | Amazon SQS |
仕入台帳と会計システムは、新しく足すものではありません。 新しく作るのは、入札の記録の共有の表、ハウスの料率表、明細の見出しの項目表の3つです。
土台になるのは、AWS Textract の請求書・領収書の分析です。 テンプレートの設定なしに請求書から日付・番号・合計・支払条件・明細の行を取り出し、請求書ごとに違う言い方を INVOICE_RECEIPT_ID・TOTAL・DUE_DATE のような標準の名前にそろえて返します。標準に当てはまらない項目は OTHER になり、文書の上の見出しの言い方が LabelDetection に、値が ValueDetection に入ります。明細の行は EXPENSE_ROW としてまとめて返ります。
「Buyer's Premium」や「Artist's Resale Right」は標準の名前に無いため、OTHER として返る想定です。 そこで、LabelDetection の文字列を自社の項目表で「手数料」「追及権料」にそろえます。この題材では、標準の名前より見出しの言い方のほうが大事になります。
03どうやって実装するのか
処理の起点を決める
受付フォルダ(Amazon S3)に明細が保存されたことを起点にします。 支払と引取の期限は落札から数週間のことが多く、届いた日のうちに期限を予定表に入れておく必要があります。 定時の実行ではなく、届いたその場で動かします。
ファイルは <ハウス略称>_<セール番号>_INV.pdf、輸送の請求書は <輸送業者略称>_<請求番号>_SHIP.pdf の形で置きます。末尾で書類の種類を分けます。 担当者がメールから保存するだけで済むよう、名前の付け方は1つに決めておきます。
S3 への保存を AWS Lambda が受け、StartExpenseAnalysis を呼びます。非同期にそろえるのは、複数ページの明細に備えるためです。 ClientRequestToken にファイルから作った値を入れると、二度置いても同じ JobId が返り、二重に読みません。 完了は Amazon SNS に届き、GetExpenseAnalysis で結果を取ります。結果は既定で7日間しか取れないため、すぐ S3 に保存します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 落札明細 | ハウス・セール番号と日付・通貨・ロットごとの落札額と手数料と税・追及権料・合計・支払と引取の期限 | 受付フォルダ(S3) |
| 輸送の請求書 | 輸送業者・請求番号・対象のロットやセール番号・輸送費・保険料 | 受付フォルダ(S3) |
| 入札の記録 | ハウス・セール番号・ロット番号・上限額・通貨・入札した人 | 共有の表 |
| ハウスの料率表 | ハウスとセールの時期ごとの、購入者手数料の帯と料率 | 仕入担当がハウスの販売条件から作る表 |
| 項目表 | 明細の見出しの言い方と自社の項目の対応(「Premium」「Buyer's Premium」→手数料など) | 仕入担当が育てる表 |
質を決めるのは、入札の記録と料率表です。 入札の記録が無ければ照合ができず、料率表が無ければ検算ができません。料率表には、表を作ったときに見たハウスの販売条件の版と日付を必ず書きます。 料率は改定されるため、セールの日付で表を選びます。
データの取得方法を決める
読み取りは2段にします。1段目は StartExpenseAnalysis、2段目は1段目で取れなかった項目だけを StartDocumentAnalysis の QUERIES で読み直します。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 請求番号・日付・合計・支払期限 | SummaryFields の INVOICE_RECEIPT_ID・INVOICE_RECEIPT_DATE・TOTAL・DUE_DATE | 台帳の頭の項目と、支払の期限 |
| 明細の行 | LineItemGroups の EXPENSE_ROW | ロットごとの金額。列ごとの LabelDetection で項目を決める |
| 標準に無い項目 | Type が OTHER の項目の LabelDetection と ValueDetection | 手数料・追及権料・税・保管料 |
| 通貨 | ValueDetection の通貨 | 金額の通貨。入札の記録の通貨と比べる |
| セール番号・引取の期限 | 2段目の質問の答え | 1段目で取れなかったときだけ |
明細の行は、列の見出しで読みます。 オークションの明細の表は「Lot」「Description」「Hammer Price」「Premium」「VAT」などの列が並ぶ形が多く、EXPENSE_ROW の中の各項目に、その列の見出しの文字列が LabelDetection として付く想定で組みます。付き方はハウスの書式で変わりうるため、最小構成の15通で必ず確かめます。
2段目の質問は、対象のページを指定しないと既定で1ページ目にしか当たりません。 引取の期限は最後のページの注記にあることが多いので、Pages: ["*"] を付けます。
AIへ渡す前に整形する
- 形式の確認 … JPEG、PNG、PDF、TIFF であること。XFA形式のPDFは扱えません
- パスワードの確認 … PDFはパスワード保護不可です。ハウスのマイページから落とした明細にパスワードが付いていれば、解除したものを保存し直します
- サイズと寸法の確認 … 非同期の処理で PDF と TIFF は500MB・3,000ページ、JPEG と PNG は10MBまで、画像はどの辺も10,000ピクセル以下です
- 文字の大きさの確認 … 文字の高さが15ピクセル(150 DPIで8ポイント相当)を下回ると検出されません。期限の注記は小さな字なので、縮小しすぎません
- 書類の種類の確認 … ファイル名の末尾と、全文の「Invoice」「Statement」「Pro forma」などの語が合うかを見ます。見積の段階の書類を本番の明細として写さないためです
- 重複の確認 … 同じハウス・同じ請求番号が既にあれば止めます。訂正の明細のこともあるので、差し替えか重複かを担当者に聞きます
AIに処理させる
させるのは、明細から決まった項目の値を、見出しの言い方と位置と信頼度を添えて読み取ることだけです。 項目のそろえ方、照合、検算は、読み取りの後にプログラムの規則が行います。
| 読み取る項目 | 中身 | 読み取れないときの扱い |
|---|---|---|
| ハウス・請求番号・日付 | 明細の頭の項目 | 見つからなければ not_found |
| セール番号・セールの日付 | 入札の記録を引く鍵 | 1段目で取れなければ2段目で読む |
| ロット番号 | 行ごとの番号 | 読めなければ unreadable |
| 落札額 | 行ごとの Hammer Price | 見出しが項目表に無ければ unmapped |
| 購入者手数料 | 行ごと、または明細の下のまとめ | どちらか決まらなければ ambiguous |
| 追及権料・税 | 行ごと、またはまとめ | 見出しが項目表に無ければ unmapped |
| 合計・通貨 | 明細の合計と通貨 | 通貨が読めなければ currency_unknown |
| 支払・引取の期限 | 期限の日付と、保管料が掛かり始める日 | 日・月の順が決まらなければ ambiguous |
手数料が「行ごと」か「まとめ」かを区別するのが、この表でいちばん大事なところです。 行ごとに書くハウスとまとめて書くハウスがあり、両方に同じ金額が書かれている明細もあります。 区別せずに足すと、手数料を二重に台帳に載せます。
| させないこと | 理由 |
|---|---|
| 手数料・追及権料・税が正しいかの結論 | ハウスの販売条件と国の制度で決まる。規則で検算し、人が確かめる |
| 作品の真贋・状態・来歴の判断 | 明細からは分からない。美術商の仕事 |
| 円への換算 | 送金の日のレートで経理が行う |
| 読めなかった金額の補完 | 入札の上限額や合計から逆算して埋めない |
指示内容を固定する
1段目の請求書・領収書の分析には、質問のような指示はありません。2段目で、1段目で取れなかった項目だけに当てる質問を英語で用意します。
QueriesConfig:
Queries:
- Text: "What is the sale number?"
Alias: SALE_NO
Pages: ["*"]
- Text: "What is the date of the sale?"
Alias: SALE_DATE
Pages: ["*"]
- Text: "By what date must the purchased lots be collected?"
Alias: COLLECTION_DEADLINE
Pages: ["*"]
- Text: "From what date will storage charges apply?"
Alias: STORAGE_FROM
Pages: ["*"]
- Text: "What is the payment due date?"
Alias: PAYMENT_DUE
Pages: ["*"]
受け取った結果に対して、プログラムの側で次の決まりを当てます。これが実質的な「指示」です。
【読み取り結果の扱いの決まり】
1. 値が空の項目は not_found とする。入札の記録や合計から逆算して埋めない。
2. 信頼度が決めた値を下回る項目は unreadable とし、値は参考として残す。
3. 明細の行の項目は、Type ではなく LabelDetection の文字列で項目を決める。
項目表に無い見出しは unmapped とし、似た見出しに寄せない。
4. 手数料が行ごとにもまとめにもある場合は、行ごとの合計とまとめの値を比べ、
同じなら行ごとの値だけを使う。違えば ambiguous とする。
5. 金額は通貨記号と桁区切りを外して数値にする。
通貨が明細の頭と行で違えば currency_mismatch とする。
6. 日付は月の名前が書かれていればそのまま読む。数字だけで日と月の
両方が12以下なら ambiguous とし、セールの日付から推し量らない。
7. 書類に「Pro forma」「Estimate」とあれば、台帳に写さず担当者へ返す。
3番目がこの構成の要です。 手数料や追及権料は標準の名前に無いため、Type は OTHER になります。OTHER の中身を見出しの言い方で分けないと、税も手数料も保管料も同じ「その他」に入ります。
照合と検算は次の決まりで行います。
【照合と検算の決まり】
A. ハウス・セール番号・ロット番号で入札の記録を引く。
引けなければ not_in_bid_record とする。
B. 落札額が入札の上限額を超えていれば over_max_bid とする。
C. 料率表はセールの日付で選び、帯ごとの料率で手数料を計算し直す。
明細の手数料との差が決めた幅を超えれば premium_diff とする。
D. 追及権料の行があれば金額を並べて人に見せる。計算し直さない。
E. 支払と引取の期限は、予定表の下書きに入れる。
Dで追及権料を計算し直さないのは、国によって決まりが違うからです。 英国の政府のページでは、追及権は1,000ポンド以上の転売に掛かり、帯ごとの料率と1件あたりの上限(12,500ポンド)があるとされています。オークションハウスの用語集も、料率・対象・誰が払うかは国によって違うとしています。人が見るための材料として並べるだけにします。
出力形式を固定する
読み取りと照合の結果を、明細1通ごとに次の形のJSONにまとめて台帳へ渡します。
{
"invoice_id": "HOUSEA_26123_INV",
"house": "", "sale_no": "26123", "sale_date": "2026-10-02",
"currency": "GBP",
"lots": [
{ "lot_no": "145", "description": "",
"hammer": 0, "premium": 0, "premium_recalc": 0, "arr": 0, "tax": 0,
"bid_record": "found | not_in_bid_record", "max_bid": 0,
"checks": ["over_max_bid", "premium_diff"],
"confidence_min": 0, "page": 1 }
],
"charges": [ { "label": "Storage", "amount": 0, "status": "ok | unmapped" } ],
"total": { "document": 0, "sum_of_parts": 0, "result": "match | diff" },
"deadlines": { "payment_due": "", "collection_by": "", "storage_from": "" },
"verdict": "confirm | review | urgent"
}
1つ目の理由は、ロットごとに金額を分けて持てることです。 作品ごとの仕入値(落札額)と付随の費用(手数料・追及権料・税)が分かれ、後で作品ごとの利益を出すときにそのまま使えます。
2つ目は、total で合計の突き合わせができることです。 明細の合計と、分けて写した金額の和が合わなければ、どこかの行を写し漏らしたか、二重に写したかのどちらかです。
verdict | 条件 | 担当者の扱い |
|---|---|---|
confirm | 全ロットが入札の記録にあり、検算の差が幅の内、合計が一致 | 一覧で流し見て確定 |
review | unmapped・ambiguous・unreadable・premium_diff・合計の差のどれかがある | 明細の画像で確かめる |
urgent | not_in_bid_record・over_max_bid、または支払・引取の期限が近い | 当日中に担当の美術商とハウスに確かめる |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ(S3) | 保存の通知で Lambda を起動 | 明細と輸送の請求書の受け付け |
| AWS Textract | StartExpenseAnalysis/StartDocumentAnalysis と各 Get | 明細の読み取り |
| 入札の記録・料率表・項目表 | 読み取りのみ | 照合・検算・そろえ方 |
| 仕入台帳 | 「確認待ち」の行の書き込み | 照合の結果と根拠つきの行を作る |
| 予定表 | 下書きの書き込み | 支払と引取の期限 |
会計システムと送金には、何も書き込みません。 送金は経理が確定した台帳を見て行います。読み違えた金額がそのまま送金に流れる経路を作らないためです。 ハウスへの問い合わせも人が行います。
人が確認する
人が開くのは review と urgent の明細だけです。 全件を開く設計にすると、第10章の4.0時間には収まりません。
urgentを先に見る … 入札の記録に無いロットは、担当の美術商が記録を書き忘れたのか、ハウスの誤りかを確かめます- 検算の差を確かめる … 料率表の版がセールの日付に合っているかを見ます。料率表が古いだけのことが多いです
unmappedの見出しを項目表に足す … 同じ調べものを二度しないための作業です- 確定する … 読み取りの値と直した値の両方を残します
1番目を省かないでください。 入札の記録の書き忘れをハウスの誤りとして問い合わせると、取引先との関係にひびきます。 先に社内の記録を疑います。
例外に対処する
| 起きること | 対応 |
|---|---|
| 入札の記録に無いロットが載っている | not_in_bid_record。担当の美術商に確かめ、ハウスへの連絡は人が行う |
| 訂正の明細が届いた | 同じ請求番号の2通目。差し替えにせず両方を残す |
| 見積・前払の書類が混ざる | 「Pro forma」「Estimate」なら台帳に写さず担当者へ |
| 輸送の請求書にロット番号が無い | セール番号と作品名で候補を出し、決まらなければ人が結び付ける |
| 英語以外の明細 | 質問は英語のみ。人が読むか、別の製品に回す |
| パスワード付きのPDF | PDFは保護されていてはいけない。解除して保存し直す |
| 読み取りが失敗した | 受付フォルダに残し、成功したときだけ処理済みへ移す |
記録を残す
- 明細と輸送の請求書の元のファイル、AWS Textract の結果の全文(JSON)と
JobId - そろえた後の値とそろえ方の記録、照合と検算の結果とそのときの料率表・項目表の版
- 担当者が直した項目と直す前の値、ハウスに問い合わせた内容と回答
- ハウスごとの
reviewの発生率と、検算の差の傾向
料率表の版を残すのは、改定のたびに過去の検算の意味が変わるからです。
04実装レベルの3段階
最小構成は、確かめるための段階です。 半自動化で、1通27分が14分程度になります。 写す作業は自動になりますが、入札の記録との照合と手数料の検算が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、入札の記録が共有の表になり、担当者に聞く手間がなくなるからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、見出しの言い方のばらつきと、入札の記録の書き忘れの傾向が先に分かります。
05工数削減シミュレーション
導入後 40件 × 6分 ÷ 60 = 4 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 英国・米国・欧州・香港などのオークションに毎月入札し、落札明細が月に数十通届く画廊・美術商・骨董商。落札明細の書式がオークションハウスごとに違い、担当者が1通ずつ開いて仕入台帳に写し、手数料の検算を電卓で行っている場合。支払の期限や引取の期限を過ぎて、保管料や遅延の扱いが生じた経験がある会社。入札と落札の記録が担当の美術商の手元に散らばり、後任に引き継げていない会社。
- 海外のオークションでの落札が月に数件で、目視で足りる場合。落札明細が英語以外(中国語・日本語など)で発行されるオークションが中心の場合(AWS Textract は日本語・中国語を読めない)。なお、作品の真贋・状態・来歴の確認、輸出入の規制(ワシントン条約の対象の素材など)に当たるかの判断、手数料や追及権料が正しいかの最終的な判断は、この構成では行いません。
07最小構成で試す方法
- 過去の落札明細から15通を選ぶ(ハウスがばらけるようにし、手数料をまとめて書く明細と行ごとに書く明細を両方入れる)
- AWS のコンソールで AWS Textract の請求書・領収書の分析を開き、1通ずつ読ませる
- 明細の行の項目ごとに、見出しの言い方(
LabelDetection)と値を表に写す - 当時の仕入台帳の値と見比べ、取り違えた項目と読めなかった項目に印を付ける
- 見出しの言い方を集め、項目表の最初の版を作る
15通は必ずやってください。 規則を書く前に、「見出しの言い方で、手数料・追及権料・税を分けられるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 行ごとの金額が当時の台帳と合った | S3 と Lambda の連携に進む |
| 手数料が行ごととまとめで二重に出た | 決まりの4番で扱える。構成は有効 |
| 表が行として取れない明細が多い | 2段目の質問と人の確認の割合を増やす。ハウスごとに見極める |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 手数料も税も保管料も「その他」に入る | Type ではなく LabelDetection で項目を決める |
| 手数料を二重に台帳に載せる | 行ごととまとめを比べ、同じなら行ごとだけを使う |
| 見積の書類を本番の明細として写す | 「Pro forma」「Estimate」を前処理で見る |
| 古い料率表で検算して差が出る | セールの日付で料率表を選ぶ |
| 引取の期限が空で返る | 最後のページの注記にある。**質問に Pages: ["*"] を付ける** |
| 追及権料を自社で計算して食い違う | 計算し直さず、並べて人に見せる |
| 入札の記録に無いロットが通ってしまう | not_in_bid_record は必ず urgent |
| 送金まで自動で流れる | 会計と送金には書き込まない |
上の2行が、この構成の失敗のほとんどです。 下の2行は、照合の結果を送金の判断そのものにしないための守りです。 どちらも「金額は読めているのに、どの費用かを取り違える」形で、見出しの言い方を項目表で管理できるかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 落札した作品と金額、入札の上限額、取引先のハウスと輸送業者、そして明細に印刷されている自社の顧客番号・請求先の住所・振込先の口座情報です。入札の上限額は、外に出れば自社の仕入の手の内が分かる情報です。
- 読み取りに送るのは明細だけにする … 入札の上限額や料率表は読み取りに要りません。照合は Lambda の側で行い、AWS Textract に送るのは明細の画像だけにします
- 結果の保管先を自社の S3 にする … 非同期の処理の結果は、既定では AWS Textract の側の領域に暗号化されて7日間保管されます。
OutputConfigで自社の S3 に出します - 入札の記録の表に触れる人を絞る … 共有の表にしたことで、見られる人が増えます。閲覧できる人を仕入担当と経理に限ります
- 振込先の変更に注意する … 明細の振込先がいつもと違う場合は、読み取りの結果で送金先を変えず、ハウスに既知の連絡先で確かめます
- この構成は手数料・追及権料・税の正しさを判断しません … ハウスの販売条件と国の制度で決まります。この構成が出すのは、自社の料率表で計算し直した値との差だけです
- 輸出入の規制は別に確かめる … オークションハウスの用語集では、ロットに付く記号の例として、保証や追及権と並んでワシントン条約(CITES)の制限が挙げられています。明細を写しただけでは、素材に規制の掛かる作品かどうかは分かりません。 象牙や希少な木材などを含みうる工芸品は、カタログの記号と作品の記載を美術商が見て、輸入の手続きを別に確かめます
誤りが起きた場合のリスクは、払いすぎに気づかないことと、正しい請求をハウスに問い合わせてしまうことの2つです。 前者は項目を取り違えたり入札の記録に無いロットを通したりすると起き、後者は料率表が古いと起きます。どちらも「見出しで項目を分け、基準の版を管理する」設計で防ぎます。
10まず何から始めるか
1週目:入札の記録の表を作る
ハウス・セール番号・ロット番号・上限額・通貨・入札した人の列を持つ共有の表を作り、担当の美術商に入札のたびに1行書いてもらいます。過去の記録は、直近の数か月分だけ書き起こします。
2週目:15通で試す
過去の落札明細15通を、AWS のコンソールで請求書・領収書の分析にかけます。見出しの言い方を集め、手数料・追及権料・税を分けられるかを最優先で見ます。
3週目:料率表と項目表を作る
入札の多いハウスから、販売条件を読んで購入者手数料の帯と料率を表にします。表には、見た販売条件の版と日付を書きます。 2週目に集めた見出しの言い方から、項目表の最初の版を作ります。
4週目:受付フォルダから一覧までをつなぐ
S3 への保存で Lambda を動かし、AWS Textract で読み、ロットごとに金額を分けて一覧に書き出すところまで作ります。この時点では照合をせず、lots の一覧だけを見ます。
2か月目: 入札の記録との照合と料率表の検算を足し、verdict を出します。3か月目以降: 期限の予定表への下書きを足し、1通27分が何分になったかを実測します。ハウスごとの review の発生率を見て、項目表と料率表の直し方が決まった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
請求書・領収書の分析がテンプレートなしに日付・番号・明細・合計・支払条件を取り出すこと。言い方の違う項目を INVOICE_RECEIPT_ID などの標準の名前にそろえ、標準に無い項目を OTHER とすること。標準の項目に TOTAL・DUE_DATE・TAX・SHIPPING_HANDLING_CHARGE・ITEM・PRICE などがあること。Type・LabelDetection・ValueDetection・PageNumber・Confidence・EXPENSE_ROW を返し、値に通貨が付くこと。非同期は StartExpenseAnalysis と GetExpenseAnalysis | AWS: Analyzing Invoices and Receipts | 2026-10-15 |
| 対応する形式が JPEG・PNG・PDF・TIFF で XFA 形式の PDF は不可なこと。非同期は JPEG と PNG が10MB、PDF と TIFF が500MB・3,000ページまで。PDFはパスワード保護不可。画像は各辺10,000ピクセル以下。文字の検出が英・仏・独・伊・葡・西で、質問は英語の文書のみ。文字の高さの下限が15ピクセル(150 DPIで8ポイント相当) | AWS: Set Quotas in Amazon Textract | 2026-10-15 |
非同期の処理の完了が SNS に通知されること。ClientRequestToken で同じ JobId が返ること。結果は既定で7日間保管され、OutputConfig で自社の S3 に出せること。請求書・領収書の分析も同じ非同期の流れで扱えること | AWS: Calling Amazon Textract Asynchronous Operations | 2026-10-15 |
| 質問の答えが別名・信頼度・位置・答えの文字列を持ち、答えが無ければ空になること | AWS: Queries | 2026-10-15 |
| 英国の追及権が、オークションハウスや美術市場の事業者を通じた転売のたびに作家に使用料が入る権利であること。1,000ポンド以上の販売に掛かり、帯ごとの料率(4%〜0.25%)と1件あたり12,500ポンドの上限があること。作家の死後70年まで続くこと | GOV.UK: Artist's Resale Right | 2026-10-15 |
| 購入者手数料が落札額に上乗せして購入者がハウスに払う割合で、ロットごとに掛かること。落札額に手数料が含まれないこと。追及権(droit de suite)の料率・対象・誰が払うかが国によって違い、販売条件を確かめる必要があること。ロットの記号の例として保証・追及権・ワシントン条約(CITES)の制限が挙げられていること | Christie's: Auction glossary | 2026-10-15 |
手数料・追及権料・税が正しいか、ハウスに問い合わせるかは、各ハウスの販売条件と、必要に応じて税理士に確かめて決めてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1672)についてのご相談はこちらから。
