他の運営者や、日本のホスピタリティ向けに何かを作っている開発者と話すたびに、必ず出てくる愚痴があります。宿泊税の計算です。概念自体は誰でも理解しています——「一部の都市は宿泊に課税する」という話です。問題は、自治体によって計算方法がばらばらであること、そして各自治体の条例やガイドラインを確認せずに予約システムへそのまま組み込める、公式かつ機械可読な全国共通の表は存在しないことです。

まとめ

  • 日本には国レベルの宿泊税は存在せず、自治体ごとに導入され、それぞれ独自の仕組みを持っています。
  • 東京のように宿泊料金に応じた段階制(非課税の下限あり、2027年4月からは高額帯で定率制に移行予定)を採用する自治体もあれば、京都のように課税対象の宿泊に1円から課税し、金額区分に応じて1人1泊あたりの税額が上がる階層制の自治体もあり、定額ではなく定率制を採用する自治体もあります。
  • 私たちがよく見るミスは、課税対象となる宿泊料金を誤って計算することです。東京・京都・大阪など主要な制度では、必須の清掃料・サービス料は課税対象に含まれる一方、飲食代や消費税、地方消費税、入湯税、宿泊以外の別料金サービスは対象外です。
  • OTAの入金に宿泊税が含まれていると決めつけるべきではありません。予約サイトや旅行会社経由の支払いに含まれる場合もありますが、プラットフォームや自治体によって扱いが異なるため、事業者側での確認が必要です。
  • 私たちはこの計算ロジックをjapan-stay-taxとしてGitHubでオープンソース化し、予約・価格設定ツールを開発する人がゼロから作り直さなくて済むようにしました。

なぜ日本の宿泊税は都市ごとに異なるのか?

一律の税率や仕組みを定める国レベルの法律が存在せず、日本の宿泊税は地方自治体が独自に導入する地方税だからです。都市や県ごとに採用され、それぞれが独自のルールを設計しています。東京は早期に導入した自治体の一つで、料金帯による段階制を採用しています。一定の宿泊料金を下回れば非課税、それを超えると段階ごとに定額の税額が上がっていきます。2026年9月19日時点で、東京は1人1泊あたり宿泊料金10,000円以上15,000円未満を100円、15,000円以上を200円で課税していますが、2027年4月1日からは1人1泊13,000円以上の宿泊を対象に定率3%へ変更され、ホテル・旅館に加え簡易宿所や民泊も課税対象に広がる予定です。京都は異なるアプローチを取り、課税対象となる宿泊(修学旅行など一部の非課税ケースを除く)には1円から課税したうえで、宿泊料金の区分に応じて1人1泊あたりの税額が上がる仕組みになっています(2026年3月1日時点の区分では、6,000円未満は200円、6,000円以上20,000円未満は400円、20,000円以上50,000円未満は1,000円、50,000円以上100,000円未満は4,000円、100,000円以上は10,000円です)。大阪も料金帯による段階制ですが、ゼロからではなく非課税の下限から始まります。さらに、定額ではなく宿泊料金に対する単純な定率で課税する都市も複数あります。

宿泊税を新たに導入・改定・検討する自治体は増え続けており、ルールセットは定期的な見直しが必要です。2つか3つの都市にまたがって予約を管理しているなら、1つの計算式ではなく、それぞれ独自の閾値とエッジケースを持つ3つか4つの計算式を適用していることになります。

最もよくある計算ミスとは?

私たちがよく見るミスは、課税対象となる宿泊料金を誤って計算してしまうことです。東京・京都・大阪など主要な制度では、必須の清掃料・サービス料は課税対象の宿泊料金に含まれる一方、飲食代、消費税、地方消費税、入湯税、宿泊以外の別料金サービスは対象外とされています。この扱いを取り違えると、段階制・階層制のいずれでも意図せず違う課税区分に押し込んでしまいがちです。これを誤ると、徴収不足(納税時にその差額が自分のマージンから出ていく)か、徴収過多(今度はゲストへの返金が必要になる)のどちらかになります。

もう一つよくある問題はよりシンプルですが、同じくらいコストがかかります。OTAの入金に宿泊税が含まれていると決めつけるべきではありません。予約サイトや旅行会社経由の支払いに含まれている場合もありますが、その扱いはプラットフォームや施設の徴収方法、自治体の申告ルールによって異なります。どのプラットフォームがどう扱っているかを確認したうえで、必要であれば正しい金額を算出し、(多くの場合チェックイン時に現金または別途の項目として)徴収し、自治体独自のスケジュールで申告するのは運営者の責任です。この確認を怠ると、単なる端数の誤差では済まず、実際の自治体への申告期限を背景にしたコンプライアンス上のギャップになりかねません。

定額制・段階制・定率制は実際どう違うのか?

課税の発生条件と、料金に応じた税額のスケールの仕方が異なります。定額制は、1人1泊あたり同額を課税する仕組みで、宿泊料金の閾値や個人に対する免除規定を伴う場合もあります(例えば熱海市は宿泊料金の閾値なしで1人1泊200円を課税し、個人の免除規定が適用されます)。段階制——東京や大阪の方式——は宿泊料金をいくつかの層に分け、層ごとに固定額を設定するため、異なる層に属する15,000円の部屋と30,000円の部屋では異なる固定額が課税されます。定率制は固定額を一切使わず、宿泊料金に対して一定の割合を課税するため、税額自体が段階を飛び越えるのではなく連続的にスケールします。京都の階層制はその中間に位置し、課税対象となる宿泊であれば最初の1円から課税されつつ、料金が上がるにつれて定められた区分の税額が上がっていきます。これらは互いに置き換え可能なものではなく、ある都市のロジックをハードコーディングしてそのまま別の都市に使えると考えることこそ、運営者や開発者が気づかないうちに誤差を積み重ねてしまう典型的な原因です。

私たちが作ったもの

自社物件の運営でこの問題に何度も直面したため、計算ロジックを独立したオープンソースライブラリとして切り出しました。japan-stay-taxです。定額制・段階制・定率制のいずれを採用する都市についても日本の宿泊税を計算できるため、運営者や開発者がそれぞれ自分なりの都市別対応表を作り、微妙に異なる形で課税区分の境界を間違えてしまう、という状況を避けやすくなります。このロジックが存在する場所が一つにまとまります。

正直に言うと、このツールが適している範囲についても触れておきます。これは計算ライブラリであり、完全なコンプライアンス管理システムではありません。自前の予約・価格設定・会計ツールを構築・保守していて、フルサービスの申告製品ではなく都市ごとの正確な税額が必要な場合に最も役立ちます。1物件分の見積もりだけが欲しくてコードを触らない方には、おそらく適したツールではありません——ただしロジック自体は公開されているので、少なくとも特定の都市の計算方法がどうなっているかを確認することはできます。オープンソースなので、誰でも中身を検証したり、利用したり、未対応の都市を追加するコントリビュートをしたりできます。

よくある質問

Q: OTAの入金には宿泊税が含まれていますか?

必ずしも含まれているとは限りません。予約サイトや旅行会社経由の支払いに含まれる場合もありますが、プラットフォームや自治体によって扱いが異なるため、含まれていると決めつけず、事業者側で個別に確認する必要があります。

Q: 似たような宿泊料金なのに、定額制と段階制で税額が異なるのはなぜですか?

段階制は宿泊料金をいくつかの層に分け、層ごとに固定額を課税するため、区分の境界近くの料金は、ほんのわずかに異なるだけの料金と比べて異なる層に分類され、異なる固定額が課税されることがあるからです。

Q: japan-stay-taxは申告・納税ツールですか?

いいえ。これは、仕組みの異なる都市にまたがって正しい税額を算出するためのオープンソース計算ライブラリです。自治体への徴収・申告・納税そのものは扱いません。


本記事は情報提供のみを目的としており、法律または税務に関する助言を構成するものではありません。個別の状況については、資格を持つ専門家にご相談ください。