Media > AI活用ユースケース > 経理 > 画廊が海外のオークションハウスから受け取る英文の落札明細を読み取り、ロットごとの落札額・手数料・追及権料・輸送費を仕入台帳に転記して、入札の記録との食い違いと支払・引取の期限を拾う

画廊が海外のオークションハウスから受け取る英文の落札明細を読み取り、ロットごとの落札額・手数料・追及権料・輸送費を仕入台帳に転記して、入札の記録との食い違いと支払・引取の期限を拾う

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

海外のオークションで落札したときに届く英文の落札明細を読み取り、ロットごとの落札額・購入者手数料・追及権料・税・輸送費を仕入台帳に写します。自社の入札の記録と照らし、食い違いと支払・引取の期限を担当者に返します。

サマリー
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
その他/小売
対象部門
経理/購買
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/属人化している/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/属人化解消/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
18h/月
AI導入後
4h/月
想定削減
78%
年間削減
168h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. メールで届いた落札明細のPDFを開き、ハウス・セールの番号と日付・通貨を確かめる
  2. ロットごとに、ロット番号・作家・題名・落札額・購入者手数料・税・追及権料を仕入台帳に写す
  3. 担当の美術商に、そのロットに入札したか、上限額はいくらだったかを確かめる
  4. ハウスの料率の表を見ながら、購入者手数料を電卓で検算する
  5. 支払の期限と、引取(倉庫からの搬出)の期限を予定表に入れる
  6. 輸送業者から別に届く請求書を開き、どのロットの輸送かを探して台帳に写す
  7. 経理が送金の手続きをする
導入後(After)
  1. 人担当の美術商が、入札のたびに入札の記録(ハウス・セール番号・ロット番号・上限額・通貨)を共有の表に1行書く
  2. 人届いた落札明細と輸送の請求書を、受付フォルダ(Amazon S3)に置く
  3. 自動保存をきっかけに処理が動き、形式・サイズ・文字の大きさを確かめる
  4. 自動AWS Textract の請求書・領収書の分析が、見出しの言い方つきで合計・期限・明細の行を返す
  5. 自動取れなかった項目(セール番号・引取の期限)を、質問(Queries)で読み直す
  6. 自動明細の列の見出しを自社の項目表にそろえ、ロットごとに金額を分ける
  7. 自動入札の記録と照らし、ハウスの料率表で手数料を検算し、期限を予定表の下書きにする
  8. 自動仕入台帳に「確認待ち」の行を作り、照合の結果と根拠を付ける
  9. 人仕入担当が、食い違い・検算の差・読み取りの怪しい項目が出た行だけを確かめる
  10. 人経理が送金の手続きをし、台帳を確定する
各工程の詳しい説明を読む
  1. メールで届いた落札明細のPDFを開き、ハウス・セールの番号と日付・通貨を確かめる
  2. ロットごとに、ロット番号・作家・題名・落札額・購入者手数料・税・追及権料を仕入台帳に写す
  3. 担当の美術商に、そのロットに入札したか、上限額はいくらだったかを確かめる
  4. ハウスの料率の表を見ながら、購入者手数料を電卓で検算する
  5. 支払の期限と、引取(倉庫からの搬出)の期限を予定表に入れる
  6. 輸送業者から別に届く請求書を開き、どのロットの輸送かを探して台帳に写す
  7. 経理が送金の手続きをする

(a)書式が違い、見る場所が決まらない。 手数料を行ごとに書くハウスと、明細の下にまとめて書くハウスがあり、税が手数料だけに掛かるのか、落札額にも掛かるのかも明細ごとに読み解く必要があります。

(b)手数料の検算が手作業。 購入者手数料は落札額の帯ごとに料率が変わることが多く、料率の表はハウスとセールの時期で違います。 電卓での検算は、忙しい月から省かれます。

(c)期限が担当者の手元にしかない。 支払の期限と引取の期限は明細の下のほうに小さく書かれ、予定表に入れ忘れると、保管料が掛かり始めます。

(d)入札の記録が属人化している。 照合の材料が担当者のメモにしかなく、後任に引き継げません。

  1. 【人】 担当の美術商が、入札のたびに入札の記録(ハウス・セール番号・ロット番号・上限額・通貨)を共有の表に1行書く
  2. 【人】 届いた落札明細と輸送の請求書を、受付フォルダ(Amazon S3)に置く
  3. 【自動】 保存をきっかけに処理が動き、形式・サイズ・文字の大きさを確かめる
  4. 【自動】 AWS Textract の請求書・領収書の分析が、見出しの言い方つきで合計・期限・明細の行を返す
  5. 【自動】 取れなかった項目(セール番号・引取の期限)を、質問(Queries)で読み直す
  6. 【自動】 明細の列の見出しを自社の項目表にそろえ、ロットごとに金額を分ける
  7. 【自動】 入札の記録と照らし、ハウスの料率表で手数料を検算し、期限を予定表の下書きにする
  8. 【自動】 仕入台帳に「確認待ち」の行を作り、照合の結果と根拠を付ける
  9. 【人】 仕入担当が、食い違い・検算の差・読み取りの怪しい項目が出た行だけを確かめる
  10. 【人】 経理が送金の手続きをし、台帳を確定する

1番目が、この設計の前提です。 入札の記録が共有の表に無ければ、照らす相手がありません。属人化を解く仕組みは、AIの側ではなく入札の記録の側にあります。

9番目で人が見るのは、何か出た行だけです。 何も出なかった明細は、一覧でロットと金額を流し見て確定します。

02今回想定するシステム構成

構成図
落札明細(ハウスから)/輸送の請求書(輸送業者から)
   ▼【トリガー】受付フォルダ(Amazon S3)への保存
AWS Lambda
   ├──▶ 形式・サイズ・解像度の確認
   ▼
AWS Textract(StartExpenseAnalysis:請求書・領収書の分析)
   │   合計・期限・明細の行を、見出しの言い方と信頼度つきで返す
   ├──▶ 取れなかった項目だけ StartDocumentAnalysis(QUERIES)で読み直す
   ▼  完了の通知(Amazon SNS)
AWS Lambda(Python)
   │   ① 列の見出しを項目表にそろえ、ロットごとに金額を分ける
   │   ② 入札の記録と照らし、料率表で手数料を検算する
   │   ③ 支払・引取の期限を予定表の下書きにする
   ▼
仕入台帳に「確認待ち」の行(照合の結果と根拠つき)
   ▼
【人が食い違い・検算の差のあるものだけ確認】→ 経理の送金
役割想定する製品代替候補
OCRAWS 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どうやって実装するのか

Step1

処理の起点を決める

受付フォルダ(Amazon S3)に明細が保存されたことを起点にします。 支払と引取の期限は落札から数週間のことが多く、届いた日のうちに期限を予定表に入れておく必要があります。 定時の実行ではなく、届いたその場で動かします。

ファイルは <ハウス略称>_<セール番号>_INV.pdf、輸送の請求書は <輸送業者略称>_<請求番号>_SHIP.pdf の形で置きます。末尾で書類の種類を分けます。 担当者がメールから保存するだけで済むよう、名前の付け方は1つに決めておきます。

S3 への保存を AWS Lambda が受け、StartExpenseAnalysis を呼びます。非同期にそろえるのは、複数ページの明細に備えるためです。 ClientRequestToken にファイルから作った値を入れると、二度置いても同じ JobId が返り、二重に読みません。 完了は Amazon SNS に届き、GetExpenseAnalysis で結果を取ります。結果は既定で7日間しか取れないため、すぐ S3 に保存します。

Step2

入力データを集める

データ中身取得元
落札明細ハウス・セール番号と日付・通貨・ロットごとの落札額と手数料と税・追及権料・合計・支払と引取の期限受付フォルダ(S3)
輸送の請求書輸送業者・請求番号・対象のロットやセール番号・輸送費・保険料受付フォルダ(S3)
入札の記録ハウス・セール番号・ロット番号・上限額・通貨・入札した人共有の表
ハウスの料率表ハウスとセールの時期ごとの、購入者手数料の帯と料率仕入担当がハウスの販売条件から作る表
項目表明細の見出しの言い方と自社の項目の対応(「Premium」「Buyer's Premium」→手数料など)仕入担当が育てる表

質を決めるのは、入札の記録と料率表です。 入札の記録が無ければ照合ができず、料率表が無ければ検算ができません。料率表には、表を作ったときに見たハウスの販売条件の版と日付を必ず書きます。 料率は改定されるため、セールの日付で表を選びます。

Step3

データの取得方法を決める

読み取りは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: ["*"] を付けます。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … JPEG、PNG、PDF、TIFF であること。XFA形式のPDFは扱えません
  2. パスワードの確認 … PDFはパスワード保護不可です。ハウスのマイページから落とした明細にパスワードが付いていれば、解除したものを保存し直します
  3. サイズと寸法の確認 … 非同期の処理で PDF と TIFF は500MB・3,000ページ、JPEG と PNG は10MBまで、画像はどの辺も10,000ピクセル以下です
  4. 文字の大きさの確認 … 文字の高さが15ピクセル(150 DPIで8ポイント相当)を下回ると検出されません。期限の注記は小さな字なので、縮小しすぎません
  5. 書類の種類の確認 … ファイル名の末尾と、全文の「Invoice」「Statement」「Pro forma」などの語が合うかを見ます。見積の段階の書類を本番の明細として写さないためです
  6. 重複の確認 … 同じハウス・同じ請求番号が既にあれば止めます。訂正の明細のこともあるので、差し替えか重複かを担当者に聞きます
Step5

AIに処理させる

させるのは、明細から決まった項目の値を、見出しの言い方と位置と信頼度を添えて読み取ることだけです。 項目のそろえ方、照合、検算は、読み取りの後にプログラムの規則が行います。

読み取る項目中身読み取れないときの扱い
ハウス・請求番号・日付明細の頭の項目見つからなければ not_found
セール番号・セールの日付入札の記録を引く鍵1段目で取れなければ2段目で読む
ロット番号行ごとの番号読めなければ unreadable
落札額行ごとの Hammer Price見出しが項目表に無ければ unmapped
購入者手数料行ごと、または明細の下のまとめどちらか決まらなければ ambiguous
追及権料・税行ごと、またはまとめ見出しが項目表に無ければ unmapped
合計・通貨明細の合計と通貨通貨が読めなければ currency_unknown
支払・引取の期限期限の日付と、保管料が掛かり始める日日・月の順が決まらなければ ambiguous

手数料が「行ごと」か「まとめ」かを区別するのが、この表でいちばん大事なところです。 行ごとに書くハウスとまとめて書くハウスがあり、両方に同じ金額が書かれている明細もあります。 区別せずに足すと、手数料を二重に台帳に載せます。

させないこと理由
手数料・追及権料・税が正しいかの結論ハウスの販売条件と国の制度で決まる。規則で検算し、人が確かめる
作品の真贋・状態・来歴の判断明細からは分からない。美術商の仕事
円への換算送金の日のレートで経理が行う
読めなかった金額の補完入札の上限額や合計から逆算して埋めない
Step6

指示内容を固定する

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ポンド)があるとされています。オークションハウスの用語集も、料率・対象・誰が払うかは国によって違うとしています。人が見るための材料として並べるだけにします。

Step7

出力形式を固定する

読み取りと照合の結果を、明細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全ロットが入札の記録にあり、検算の差が幅の内、合計が一致一覧で流し見て確定
reviewunmapped・ambiguous・unreadable・premium_diff・合計の差のどれかがある明細の画像で確かめる
urgentnot_in_bid_record・over_max_bid、または支払・引取の期限が近い当日中に担当の美術商とハウスに確かめる
Step8

システムへ連携する

つなぎ先方式内容
受付フォルダ(S3)保存の通知で Lambda を起動明細と輸送の請求書の受け付け
AWS TextractStartExpenseAnalysis/StartDocumentAnalysis と各 Get明細の読み取り
入札の記録・料率表・項目表読み取りのみ照合・検算・そろえ方
仕入台帳「確認待ち」の行の書き込み照合の結果と根拠つきの行を作る
予定表下書きの書き込み支払と引取の期限

会計システムと送金には、何も書き込みません。 送金は経理が確定した台帳を見て行います。読み違えた金額がそのまま送金に流れる経路を作らないためです。 ハウスへの問い合わせも人が行います。

Step9

人が確認する

人が開くのは review と urgent の明細だけです。 全件を開く設計にすると、第10章の4.0時間には収まりません。

  1. urgent を先に見る … 入札の記録に無いロットは、担当の美術商が記録を書き忘れたのか、ハウスの誤りかを確かめます
  2. 検算の差を確かめる … 料率表の版がセールの日付に合っているかを見ます。料率表が古いだけのことが多いです
  3. unmapped の見出しを項目表に足す … 同じ調べものを二度しないための作業です
  4. 確定する … 読み取りの値と直した値の両方を残します

1番目を省かないでください。 入札の記録の書き忘れをハウスの誤りとして問い合わせると、取引先との関係にひびきます。 先に社内の記録を疑います。

Step10

例外に対処する

起きること対応
入札の記録に無いロットが載っているnot_in_bid_record。担当の美術商に確かめ、ハウスへの連絡は人が行う
訂正の明細が届いた同じ請求番号の2通目。差し替えにせず両方を残す
見積・前払の書類が混ざる「Pro forma」「Estimate」なら台帳に写さず担当者へ
輸送の請求書にロット番号が無いセール番号と作品名で候補を出し、決まらなければ人が結び付ける
英語以外の明細質問は英語のみ。人が読むか、別の製品に回す
パスワード付きのPDFPDFは保護されていてはいけない。解除して保存し直す
読み取りが失敗した受付フォルダに残し、成功したときだけ処理済みへ移す
Step11

記録を残す

  • 明細と輸送の請求書の元のファイル、AWS Textract の結果の全文(JSON)と JobId
  • そろえた後の値とそろえ方の記録、照合と検算の結果とそのときの料率表・項目表の版
  • 担当者が直した項目と直す前の値、ハウスに問い合わせた内容と回答
  • ハウスごとの review の発生率と、検算の差の傾向

料率表の版を残すのは、改定のたびに過去の検算の意味が変わるからです。

04実装レベルの3段階

最小構成:コンソールで明細を1通ずつ読ませ、結果を手で台帳に写す / 明細の読み取り
半自動化:上記+S3 への保存を起点に読み取り、ロットごとに金額を分けて一覧に書き出す / 読み取り・項目のそろえ方・一覧化
本格構成:上記+入札の記録との照合、料率表での検算、期限の予定表への下書きまで行う / 読み取り・照合・検算・期限の管理

最小構成は、確かめるための段階です。 半自動化で、1通27分が14分程度になります。 写す作業は自動になりますが、入札の記録との照合と手数料の検算が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、入札の記録が共有の表になり、担当者に聞く手間がなくなるからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、見出しの言い方のばらつきと、入札の記録の書き忘れの傾向が先に分かります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
2 名
月間件数
40 件
1件あたり現在時間
27 分
1件あたり導入後時間
6 分
現在  40件 × 27分 ÷ 60 = 18 時間/月
導入後 40件 × 6分 ÷ 60 = 4 時間/月
月間削減時間
14h
削減率
78%
年間削減時間
168h
年間金額換算(時間単価3,000円)
50万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 英国・米国・欧州・香港などのオークションに毎月入札し、落札明細が月に数十通届く画廊・美術商・骨董商。落札明細の書式がオークションハウスごとに違い、担当者が1通ずつ開いて仕入台帳に写し、手数料の検算を電卓で行っている場合。支払の期限や引取の期限を過ぎて、保管料や遅延の扱いが生じた経験がある会社。入札と落札の記録が担当の美術商の手元に散らばり、後任に引き継げていない会社。
向いていない
  1. 海外のオークションでの落札が月に数件で、目視で足りる場合。落札明細が英語以外(中国語・日本語など)で発行されるオークションが中心の場合(AWS Textract は日本語・中国語を読めない)。なお、作品の真贋・状態・来歴の確認、輸出入の規制(ワシントン条約の対象の素材など)に当たるかの判断、手数料や追及権料が正しいかの最終的な判断は、この構成では行いません。

07最小構成で試す方法

  1. 過去の落札明細から15通を選ぶ(ハウスがばらけるようにし、手数料をまとめて書く明細と行ごとに書く明細を両方入れる)
  2. AWS のコンソールで AWS Textract の請求書・領収書の分析を開き、1通ずつ読ませる
  3. 明細の行の項目ごとに、見出しの言い方(LabelDetection)と値を表に写す
  4. 当時の仕入台帳の値と見比べ、取り違えた項目と読めなかった項目に印を付ける
  5. 見出しの言い方を集め、項目表の最初の版を作る

15通は必ずやってください。 規則を書く前に、「見出しの言い方で、手数料・追及権料・税を分けられるか」を確かめます。

出てきた内容判断
行ごとの金額が当時の台帳と合ったS3 と Lambda の連携に進む
手数料が行ごととまとめで二重に出た決まりの4番で扱える。構成は有効
表が行として取れない明細が多い2段目の質問と人の確認の割合を増やす。ハウスごとに見極める

08実装時につまずきやすいポイント

問題対策
手数料も税も保管料も「その他」に入るType ではなく LabelDetection で項目を決める
手数料を二重に台帳に載せる行ごととまとめを比べ、同じなら行ごとだけを使う
見積の書類を本番の明細として写す「Pro forma」「Estimate」を前処理で見る
古い料率表で検算して差が出るセールの日付で料率表を選ぶ
引取の期限が空で返る最後のページの注記にある。**質問に Pages: ["*"] を付ける**
追及権料を自社で計算して食い違う計算し直さず、並べて人に見せる
入札の記録に無いロットが通ってしまうnot_in_bid_record は必ず urgent
送金まで自動で流れる会計と送金には書き込まない

上の2行が、この構成の失敗のほとんどです。 下の2行は、照合の結果を送金の判断そのものにしないための守りです。 どちらも「金額は読めているのに、どの費用かを取り違える」形で、見出しの言い方を項目表で管理できるかどうかで、運用に乗るかが決まります。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 落札した作品と金額、入札の上限額、取引先のハウスと輸送業者、そして明細に印刷されている自社の顧客番号・請求先の住所・振込先の口座情報です。入札の上限額は、外に出れば自社の仕入の手の内が分かる情報です。

  1. 読み取りに送るのは明細だけにする … 入札の上限額や料率表は読み取りに要りません。照合は Lambda の側で行い、AWS Textract に送るのは明細の画像だけにします
  2. 結果の保管先を自社の S3 にする … 非同期の処理の結果は、既定では AWS Textract の側の領域に暗号化されて7日間保管されます。OutputConfig で自社の S3 に出します
  3. 入札の記録の表に触れる人を絞る … 共有の表にしたことで、見られる人が増えます。閲覧できる人を仕入担当と経理に限ります
  4. 振込先の変更に注意する … 明細の振込先がいつもと違う場合は、読み取りの結果で送金先を変えず、ハウスに既知の連絡先で確かめます
  5. この構成は手数料・追及権料・税の正しさを判断しません … ハウスの販売条件と国の制度で決まります。この構成が出すのは、自社の料率表で計算し直した値との差だけです
  6. 輸出入の規制は別に確かめる … オークションハウスの用語集では、ロットに付く記号の例として、保証や追及権と並んでワシントン条約(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技術仕様の確認日・参考情報

技術仕様確認日:2026-10-15/最終更新:2026-10-23
確認した内容情報源確認日
請求書・領収書の分析がテンプレートなしに日付・番号・明細・合計・支払条件を取り出すこと。言い方の違う項目を INVOICE_RECEIPT_ID などの標準の名前にそろえ、標準に無い項目を OTHER とすること。標準の項目に TOTAL・DUE_DATE・TAX・SHIPPING_HANDLING_CHARGE・ITEM・PRICE などがあること。Type・LabelDetection・ValueDetection・PageNumber・Confidence・EXPENSE_ROW を返し、値に通貨が付くこと。非同期は StartExpenseAnalysis と GetExpenseAnalysisAWS: Analyzing Invoices and Receipts2026-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 Textract2026-10-15
非同期の処理の完了が SNS に通知されること。ClientRequestToken で同じ JobId が返ること。結果は既定で7日間保管され、OutputConfig で自社の S3 に出せること。請求書・領収書の分析も同じ非同期の流れで扱えることAWS: Calling Amazon Textract Asynchronous Operations2026-10-15
質問の答えが別名・信頼度・位置・答えの文字列を持ち、答えが無ければ空になることAWS: Queries2026-10-15
英国の追及権が、オークションハウスや美術市場の事業者を通じた転売のたびに作家に使用料が入る権利であること。1,000ポンド以上の販売に掛かり、帯ごとの料率(4%〜0.25%)と1件あたり12,500ポンドの上限があること。作家の死後70年まで続くことGOV.UK: Artist's Resale Right2026-10-15
購入者手数料が落札額に上乗せして購入者がハウスに払う割合で、ロットごとに掛かること。落札額に手数料が含まれないこと。追及権(droit de suite)の料率・対象・誰が払うかが国によって違い、販売条件を確かめる必要があること。ロットの記号の例として保証・追及権・ワシントン条約(CITES)の制限が挙げられていることChristie's: Auction glossary2026-10-15

手数料・追及権料・税が正しいか、ハウスに問い合わせるかは、各ハウスの販売条件と、必要に応じて税理士に確かめて決めてください。 本記事は上記の公開情報で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1672)についてのご相談はこちらから。

AI活用について相談する
目次