プラットフォーム構築企業向け:NordletとOdooの比較
各製品の公式ドキュメントに基づき、組み込み会計APIとオープンソースERPスイートのどちらを採用すべきか検討している開発者向けに比較します。
OdooとNordletは、プラットフォーム開発チームによってしばしば比較検討の候補に挙げられますが、これらは同じ種類の製品ではありません。Odooは、自己ホストやカスタマイズが可能な会計機能を含む総合的なビジネスアプリケーションスイートです。一方、Nordletは、他のプロダクトから呼び出されることを前提に設計された、会計以外の野心を持たない会計バックエンドです。
選択にあたっては通常、ビジネスのどの部分を1つのシステムに集約したいか、そして誰がそれを運用するのかという2つの問いに帰結します。以下のOdooに関する記述はすべて、Odooの公式ドキュメントおよび価格ページ(適宜リンクを参照)に基づいています。
各製品の概要
Odooは、会計、在庫、製造、販売、CRM、人事、ウェブサイトなどを網羅するオープンソースのスイートであり、Odoo Online、Odoo.sh、またはオンプレミス(セルフホスト)で利用可能です。その強みは、幅広い機能、拡張性、そして自社で運用できる点にあります。国別の会計処理はローカライゼーションモジュールによって提供され、そのコミュニティは非常に大規模です。
Nordletは、クラウド会計APIです。不変の複式簿記帳簿(immutable double-entry ledger)、請求書発行、購買記録、銀行取引データの取り込みと消込(reconciliation)、在庫、固定資産、給与計算、レポート作成、およびEU税務処理を1つのRESTインターフェースを通じて提供します。現在は単一のOpenAPI仕様から生成された29のモジュールにわたる400以上のエンドポイントを備えています。アプリケーションも用意されており、外部の呼び出し元が利用するものと同じエンドポイント上で動作します。
評価の大部分を決定づけるAPIの仕様
ここが、プラットフォーム構築企業にとって両製品が最も大きく分岐する点です。
Odooの外部APIはモデルレベルです。 XML-RPCまたはJSON-RPCを介して認証を行い、仕訳や請求書の account.move、取引先の res.partner、勘定科目の account.account などのデータモデルに対してORMメソッドを呼び出します。これは非常に強力であり、システムがモデル化できるものであれば何でも操作可能です。同時に、モデルを正しく使用する責任は開発者側にあり、統合先は安定したドメインコントラクトではなく、Odooの内部データモデルに依存(結合)することになります。
Odooの公式資料における2つの事実は、この計算を大きく変えるものです。
- Odooのドキュメントによると、外部APIアクセスは「One App Free」や「Standard」プランではなく、Custom価格ティアで利用可能です。したがって、APIアクセスは技術的な問題だけでなく、価格設定の決定事項でもあります。現在のプランと価格はOdooの価格ページに掲載されています。
- Odooは、
/xmlrpc、/xmlrpc/2、および/jsonrpcエンドポイントについて、Odoo 22およびOdoo Online 21.1で廃止予定であることを発表しており、後継として新しいJSON-2 APIが提供されます。現在のRPCエンドポイントに基づいて作成されたインテグレーションは、将来的に移行が必要となります。
NordletのAPIはドメインレベルです。 操作は POST /v1/{module}/{resource}/{action にJSONボディを指定して行います。そのため、ジャーナルモデルを直接操作するのではなく sales/invoices/issue を呼び出すことになり、会計上の結果に関する処理はAPI側の責任となります。APIキーには sales:write などのスコープが付与されます。リトライは Idempotency-Key ヘッダーによって保護されます。同じキーと同一のペイロードであれば保存されたレスポンスが再生され、同じキーでペイロードが変更されている場合は、サイレントに受け入れられるのではなく idempotency_key_reuse エラーとして拒否されます。ウェブフックイベントは、変更と同じデータベーストランザクション内でトランザクショナルアウトボックスに書き込まれるため、ロールバックされたドキュメントからイベントが発出されることはありません。また、配信には検証可能なHMAC署名が付与されます。
機能比較
「公表なし(not publicly confirmed)」と記されているセルは、開発者が導入を決定する際に必要となるレベルでその機能を確認できなかった項目を示しており、機能が存在しないことを主張するものではありません。
| 機能 | Nordlet | Odoo |
|---|---|---|
| プロダクトの形態 | 会計API、ホステッド | 総合ビジネススイート、ホステッドまたはセルフホスト |
| プライマリインターフェース | 型付きTypeScript SDKを備えたREST API | Webアプリケーション、モデルレベルの外部API |
| APIプロトコル | HTTPS上のJSON、アクションごとのRPCスタイルPOST | XML-RPCおよびJSON-RPC、および順次置き換えられるJSON-2 API |
| APIの可用性 | すべてのプラン、全モジュール | OdooのドキュメントによるCustomプラン |
| 複式簿記帳簿 | あり、コミット時にデータベーストリガーで貸借一致を強制 | あり、会計モジュール内 |
| 期間ロック | あり、ロックされた期間内の計上は 409 で拒否 |
会計モジュール内でロック日付をサポート |
| べき等性キー (Idempotency keys) | あり、リプレイや衝突の処理を含むドキュメント化されたセマンティクス | 外部APIでの公開確認なし |
| ウェブフック | あり、署名付き、リトライあり、トランザクショナルアウトボックスから送信 | 自動アクションとウェブフックが存在、配信保証は公開確認なし |
| 監査証跡 | すべてのミューテーション(アクター、アクション、エンティティ、差分)を記録、クエリ可能 | チャッターとログノート、スコープはモデルにより異なる |
| EU VAT | EU-27の国別税率、VIES検証、修正申告を含むOSS/IOSS計算 | 国別のローカライゼーションモジュール、深さは国によって異なる |
| 電子インボイス | Peppol BIS 3.0向けEN 16931 UBL、IT・PL・RO向けの国内フォーマット | 複数の国内フォーマットをカバーするローカライゼーションモジュール |
| 在庫、製造 | FIFO在庫、部品表(BOM)、組立・分解、ルーティング、ワークセンター、工程別記録付き製造オーダー、品質チェック、保守 | 広範であり、コアの強み |
| CRM、ウェブサイト、マーケティング | パートナーの問い合わせ、グループ、ステータスのみ、ウェブサイトビルダーやマーケティングツールなし | あり、コアの強み |
| セルフホスト | なし、CustomティアでBYOC(Bring Your Own Cloud)サポートを記載 | あり |
| ソースの可用性 | プロプライエタリ | オープンソースコア、有償版あり |
| マルチカンパニー | 1つのアカウント下に無制限の企業、ロールベースのアクセス制御 | マルチカンパニーをサポート |
料金モデル
課金対象が異なるため、両者を1対1で直接比較することはできません。
Odooはユーザー数に応じた月額課金制を採用しており、1つのアプリケーションに限定された無料プランと、Customティアでの外部APIアクセスが用意されています。プラットフォームの場合の厄介な点は、スタッフではなくソフトウェアが会計データを生成する場合において、「ユーザー数」が負荷を測る不適切な指標になってしまうという点です。セルフホストを選択すればサブスクリプションコストはかかりませんが、インフラストラクチャと保守のコストが発生します。
Nordletはリクエスト従量課金制です。公開されているプランは、3,000リクエストで月額10ユーロ、30,000リクエストで50ユーロ、200,000リクエストで300ユーロとなっており、超過分はリクエストごとに追加請求されます(カスタムティアは要問い合わせ)。すべてのプランに全モジュールとフルAPIが含まれており、ユーザー数、企業数、サンドボックス企業数は無制限です。リクエストとは、APIまたはアプリケーショントランザクションを通じて実行される任意のアクションを指します。
実際のビジネスへの影響として、4人のスタッフと月間50,000件の会計処理を行うマーケットプレイスの場合、従量課金モデルでは50,000件分のアクションに対して支払いが発生し、ユーザー課金モデルでは4ユーザー分の支払いとなります。しかし、ユーザー課金モデルではボリュームが倍増しても料金は変動しないため、これは一長一短です。自社の数値をシミュレーションしてください。
Odooがより良い選択肢となるケース
- 会計、在庫、製造、CRM、ウェブサイトを1つのデータベースを持つ1つのシステムにまとめたい場合。
- データレジデンシー(データ所在地の要件)、コスト、またはポリシー上の理由からセルフホストが必要な場合。
- ソースコードを修正したいと考えており、バージョンアップを跨いでそれらの修正を維持する社内体制がある場合。
- 会計業務が、販売するプロダクトの機能というよりも内部のバックオフィス業務である場合。
- 該当する国のOdooローカライゼーションモジュールが強力かつ活発にメンテナンスされている場合。
Odooの持つ広範な機能は本物であり、いかなる会計APIもそれに取って代わることはできません。
Nordletが適しているケース
- スタッフではなく、ソフトウェアが会計イベントを生成する場合。
- 企業ごとにサブスクリプション契約を結ぶことなく、1つのアカウントの下で多くの企業の帳簿を管理する必要がある場合。
- プラットフォームが信頼できる不変条件(バランスの取れた仕訳、抜けのないナンバリング、ロックされた期間、不変の履歴、べき等な書き込み)の強制が必要な場合。
- 内部データモデルではなく、安定したドメインコントラクトに対してインテグレーションを行いたい場合。
- 複数の国にまたがるEU VAT(付加価値税)の義務があり、そのロジックを自社で維持したくない場合。
明確な制限事項として、Nordletは現在アーリーアクセス段階であり、オンボード設計パートナーを募集中です。セルフホストではなくホステッド型であり、パートナー情報には営業パイプラインではなく問い合わせ、グループ、ステータスが保持されます。ウェブサイトビルダーやマーケティング機能はなく、給与計算はリトアニアのみ対応しています。また、国内申告パッケージは現在、リトアニア(FR0600)、ドイツ(UStVA)、ポーランド(JPK_V7M)の3カ国に対応しており、OSSおよびIOSSは計算されますが、ユーザーの代理での申告は行われません。
導入前に検証すべきポイント
- 実際に必要なOdooのプランを確認する。 外部APIアクセスにCustomティアが必要な場合は、エントリー層ではなく、ユーザー数に応じたCustomティアで料金を見積もってください。
- RPCの移行スケジュールについて確認する。 現在のエンドポイントの廃止予定以降も維持する予定のOdooインテグレーションがある場合は、そのスケジュールを確認してください。
- 両方でリトライをテストする。 同じリクエストを2回送信し、生成されるエントリの数をカウントします。
- ロック機能をテストする。 期間を締め切った後、その期間に対して仕訳の計上を試みます。
- 特定の国への対応状況を確認する。 Odooについてはどのローカライゼーションモジュールがありどれほど活発に保守されているか、Nordletについてはその国で現在どのようなVAT出力が存在するかを確認します。
- 3年間の総コストをシミュレーションする。 セルフホストの場合はホスティングとアップグレードの工数を含め、従量課金の場合はリクエスト数の増加を見込んで計算します。
FAQ
Odooは無料ですか?
Odooは単一のアプリケーションに限定された無料プランを公開しており、コミュニティエディションはオープンソースです。プラットフォーム統合における関連コストは、ライセンス自体というよりも、通常はホスティング、アップグレード、ローカライゼーションの保守、および外部APIアクセスに必要な有償ティアとなります。
Odooをマーケットプレイス向けの組み込み会計バックエンドとして使用できますか?
統合することは可能であり、実際にそうしている開発チームもあります。考慮すべき点として、外部APIがデータモデルレベルで動作すること、APIアクセスが特定の価格ティアに紐づいていること、現在のRPCエンドポイントが置き換え予定であること、そして会計モデルの正しい使用に関する責任が開発者側にあることが挙げられます。これらをどちらかの前提に決めつけることなく、自社の要件照らし合わせて検証してください。
NordletはOdooが行うすべてのことができますか?
いいえ。Nordletは会計およびその周辺業務(請求書発行、帳簿、銀行連携、在庫、固定資産、生産、給与計算、レポート作成、EU税務)を対象としています。製造機能に関しては、BOM(部品表)、ルーティング、ワークセンター、工程別記録付き製造オーダー、品質チェック、設備保守をカバーしていますが、Odooが提供するような需要予測やキャパシティプランニングはありません。パートナー情報には、営業パイプラインの代わりに問い合わせ、グループ、ステータスが保持され、ウェブサイトビルダーやマーケティングツールはありません。
EU VAT(付加価値税)にはどちらが適していますか?
国によって異なります。Nordletは、国別のEU VAT税率、VIES検証、過去期間の修正を含むOSSおよびIOSSの申告計算、i.SAF登録、EN 16931 UBLを提供しており、リトアニア向けの国別パックが最も充実しています。Odooのカバレッジは国によって深さと保守状況が異なるローカライゼーションモジュールに依存しているため、特定の国における誠実な回答としては、その国のモジュールを個別に確認することになります。
Nordletをセルフホストできますか?
標準プランではできません。CustomティアにはBYOC(Bring Your Own Cloud)サポートが記載されているため、セルフホストが要件となる場合はその旨をご相談ください。