財務分析のために QuickBooks を Power BI に接続する
QuickBooks は何百万もの中小企業の会計バックボーンですが、その内蔵レポート機能が常に最大の弱点でした。固定レポート テンプレート、限られた期間間の比較、複数企業の連結財務のサポートなしにより、成長する企業はデータを毎月 Excel にエクスポートするようになりました。 Power BI は、QuickBooks に直接接続し、ライブで対話型の財務ダッシュボードを提供することで、このワークフローを排除します。
このガイドでは、公式 Intuit コネクタ、サードパーティ オプション、すぐに価値をもたらす財務レポート テンプレートなど、QuickBooks Online (QBO) および QuickBooks Desktop (QBD) を Power BI に接続するすべての方法について説明します。
重要なポイント
- Intuit の公式 QuickBooks Online コネクタは Power BI Get Data で直接利用可能です
- QuickBooks デスクトップにはサードパーティのコネクタまたは QODBC ドライバが必要です
- ネイティブ コネクタ カバー: 損益計算書、貸借対照表、試算表、キャッシュ フロー、および 30 以上のトランザクション テーブル
- データ更新の制限: QuickBooks Online API の更新は制限されています - 最大 1 日あたり 4 ~ 8 回の更新を計画してください
- 複数の会社の統合には、Power BI に参加する会社ごとに個別の接続が必要です
- QuickBooks アカウントには、特別な DAX 処理が必要な階層構造 (親/サブアカウント) があります。
- QBO でのクラスと場所の追跡は、セグメント分析のために Power BI ディメンションにマップされます
- 大容量の QBO データ (月あたり 10,000 以上のトランザクション) の場合は、パイプラインとして Fivetran または Stitch を検討してください。
QuickBooks から Power BI への接続方法
方法 1: QuickBooks オンライン コネクタ (ネイティブ)
Power BI Desktop には、ネイティブの QuickBooks Online コネクタが含まれています (プレビュー ステータス、定期的に更新されます)。
- データを取得 → 「QuickBooks」を検索 → QuickBooks Online (ベータ版)
- Intuit/QuickBooks の資格情報を使用してサインインします。
- 利用可能なリストから会社を選択します
- インポートするテーブルの選択
ネイティブ コネクタ経由で利用可能な QBO テーブル:
| 表 | 記録 | 主要なフィールド |
|---|---|---|
| アカウント | 勘定科目表 | AccountType、AccountSubType、CurrentBalance |
| ビル | ベンダー請求書 | TxnDate、VendorRef、TotalAmt、DueDate |
| 請求書支払い | 請求書の支払い | PayType、TotalAmt、CheckNum |
| 顧客 | 顧客リスト | 会社名、残高、通貨参照 |
| 見積もり | 引用 | ExpirationDate、TotalAmt、CustomerRef |
| 請求書 | 顧客請求書 | 期日、残高、合計金額、品目 |
| アイテム | 製品・サービス | タイプ、単価、IncomeAccountRef |
| ジャーナルエントリー | 手動仕訳入力 | TxnDate、品目 |
| お支払い | 顧客の支払い | PaymentMethodRef、合計金額 |
| 購入 | 経費 | PaymentType、TotalAmt、AccountRef |
| 購入注文 | 注文書 | POStatus、TotalAmt、VendorRef |
| 領収書 | 現金販売 | 合計金額、支払方法参照 |
| ベンダー | ベンダーリスト | 会社名、残高、通貨参照 |
| 転送 | 銀行振込 | FromAccountRef、ToAccountRef、金額 |
| デポジット | 銀行預金 | 合計金額、DepositToAccountRef |
方法 2: QuickBooks デスクトップ (QODBC)
QuickBooks Desktop にはネイティブの Power BI コネクタがありません。オプション:
QODBC ドライバー (年間 299 ~ 499 ドル):
- QuickBooks デスクトップ マシンに ODBC データ ソースとしてインストールします。
- Power BI は ODBC コネクタ経由で接続します
- SQL クエリを介してすべての QBD テーブルを公開します
- 接続されたマシン上で QuickBooks デスクトップが実行されている必要があります
QuickBooks デスクトップからオンラインへの移行: QuickBooks Desktop から QBO への移行が計画されている場合は、最初に移行を完了し、ネイティブ QBO コネクタを使用します。
Excel + Power BI にエクスポート: 基本的なニーズに対しては、QuickBooks Desktop のスケジュールされた Excel エクスポートと Power BI の SharePoint フォルダー コネクタを組み合わせることで、リアルタイム性は劣るものの、コストのかからない代替手段を提供します。
方法 3: サードパーティのコネクタ
高い信頼性要件が必要な実稼働環境の場合:
| コネクタ | プラットフォーム | 価格 | 最適な用途 |
|---|---|---|---|
| CData Power BI コネクタ | CData | $400/年 | ダイレクト ODBC、すべてのバージョン |
| Fivetran クイックブック | ファイブトラン | 使用量ベース | 倉庫への自動パイプライン |
| ステッチクイックブック | ステッチ | 月額 $100 から | シンプルなパイプライン |
| ワンサース | ワンサース | 月額 $25 ~ $50 | 小規模ビジネス、テーブル数が少ない |
| マイDBR | マイDBR | $300/年 | SQL ベースのアクセス |
成長するビジネスに推奨されるアーキテクチャ:
QuickBooks Online → Fivetran → PostgreSQL/Snowflake → Power BI
これにより、QuickBooks API のレート制限に関する懸念が解消され、より複雑な分析のためのクエリ可能で結合可能なデータ ウェアハウスが提供されます。
ネイティブ QBO コネクタのセットアップ
段階的な構成
ステップ 1: QuickBooks API アクセスを有効にする
QuickBooks Online は OAuth 2.0 を使用します。ネイティブ Power BI コネクタは OAuth フローを自動的に処理します。プロンプトが表示されたら、Intuit 資格情報を使用してサインインするだけです。
ステップ 2: コア テーブルをインポートする
QBO に接続した後の Power BI Desktop で、少なくとも次のテーブルをインポートします。
Account — Chart of Accounts structure
Customer — Customer master
Vendor — Vendor master
Invoice — AR transactions
Payment — Customer payment receipts
Bill — AP transactions
BillPayment — Vendor payments
Purchase — Expense transactions
JournalEntry — Manual entries
Item — Products/Services
ステップ 3: 広告申込情報データを展開します
QuickBooks の請求書と請求書には、明細項目がネストされたレコードとして含まれています。 Power Query で、以下を展開します。
// Expand Invoice Line Items
Source = QuickBooksOnline.Tables("Invoice"),
Expanded = Table.ExpandTableColumn(Source, "Line",
{"Id", "Amount", "DetailType", "SalesItemLineDetail"},
{"Line.Id", "Line.Amount", "Line.Type", "Line.Detail"}),
ExpandedDetail = Table.ExpandRecordColumn(Expanded, "Line.Detail",
{"ItemRef", "Qty", "UnitPrice"},
{"Item.Ref", "Qty", "Unit Price"})
ステップ 4: データ モデルを構築する
テーブル間の関係を作成します。
Invoice[CustomerRef.value]→Customer[Id]Invoice.Line[ItemRef.value]→Item[Id]Bill[VendorRef.value]→Vendor[Id]Account[Id]→JournalEntry.Line[AccountRef.value]
ステップ 5: 日付テーブルを作成する
QuickBooks は暦月をレポートします。会計年度をサポートする日付テーブルを作成します。
Date =
ADDCOLUMNS(
CALENDAR(DATE(2020,1,1), DATE(2027,12,31)),
"Year", YEAR([Date]),
"Month", MONTH([Date]),
"Month Name", FORMAT([Date], "MMM YYYY"),
"Quarter", "Q" & ROUNDUP(MONTH([Date])/3, 0),
"YearMonth", YEAR([Date]) * 100 + MONTH([Date])
)
QuickBooks のアカウント階層の処理
QuickBooks は、勘定科目表の構成に親/サブ勘定科目の階層を使用します。たとえば:
4000 Sales Revenue (parent)
4010 Product Sales
4020 Service Revenue
4030 Other Revenue
5000 Cost of Goods Sold (parent)
5010 Product COGS
5020 Service COGS
Power BI では、PATH 関数を使用してこの階層を処理します。
// Build account hierarchy path
Account Path = PATH(Account[Id], Account[ParentRef.value])
// Get top-level parent account
Parent Account =
LOOKUPVALUE(
Account[Name],
Account[Id],
PATHITEM(Account[Account Path], 1)
)
// Roll up amounts to parent accounts
Account Total =
CALCULATE(
SUM(JournalEntry.Line[Amount]),
FILTER(
Account,
PATHCONTAINS(Account[Account Path], SELECTEDVALUE(Account[Id]))
)
)
財務 KPI と DAX 式
収益対策
// Total Revenue (all income account invoices)
Total Revenue =
CALCULATE(
SUM(Invoice[TotalAmt]),
Invoice[status] <> "Voided"
)
// Revenue by Product Category
Revenue by Category =
CALCULATE(
SUM(InvoiceLine[Amount]),
USERELATIONSHIP(InvoiceLine[ItemRef], Item[Id])
)
// Month-over-Month Revenue Growth
MoM Revenue Growth =
VAR CurrentMonth = [Total Revenue]
VAR PriorMonth = CALCULATE([Total Revenue], DATEADD(Date[Date], -1, MONTH))
RETURN DIVIDE(CurrentMonth - PriorMonth, PriorMonth, 0)
// Year-to-Date Revenue
YTD Revenue = CALCULATE([Total Revenue], DATESYTD(Date[Date]))
// Prior Year Same Period Revenue
PY Revenue = CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(Date[Date]))
費用と収益性
// Total COGS (items with income account type = COGS)
Total COGS =
CALCULATE(
SUM(InvoiceLine[Amount]),
RELATED(Item[IncomeAccountType]) = "CostOfGoodsSold"
)
// Gross Profit
Gross Profit = [Total Revenue] - [Total COGS]
// Gross Margin %
Gross Margin % = DIVIDE([Gross Profit], [Total Revenue], 0)
// Total Operating Expenses (from Purchase + Bill transactions)
Total OpEx =
CALCULATE(SUM(Purchase[TotalAmt])) +
CALCULATE(SUM(Bill[TotalAmt]))
// Net Income
Net Income = [Gross Profit] - [Total OpEx]
売掛金 KPI
// Total AR Outstanding
AR Balance =
SUMX(
FILTER(Invoice, Invoice[Balance] > 0),
Invoice[Balance]
)
// AR Aging Buckets
AR 0-30 Days =
CALCULATE(
SUM(Invoice[Balance]),
Invoice[DueDate] >= TODAY() - 30,
Invoice[Balance] > 0
)
AR 31-60 Days =
CALCULATE(
SUM(Invoice[Balance]),
Invoice[DueDate] >= TODAY() - 60,
Invoice[DueDate] < TODAY() - 30,
Invoice[Balance] > 0
)
AR 61-90 Days =
CALCULATE(
SUM(Invoice[Balance]),
Invoice[DueDate] >= TODAY() - 90,
Invoice[DueDate] < TODAY() - 61,
Invoice[Balance] > 0
)
AR Over 90 Days =
CALCULATE(
SUM(Invoice[Balance]),
Invoice[DueDate] < TODAY() - 90,
Invoice[Balance] > 0
)
// Days Sales Outstanding
DSO = DIVIDE([AR Balance], DIVIDE([Total Revenue], 365), 0)
財務ダッシュボード テンプレート
ダッシュボード 1: ビジネス概要
含めるビジュアル:
- 収益対前年 (棒グラフ、月次、YoY % ラベル付き)
- 粗利益率 (ゲージ、業界ベンチマークライン付き)
- 純利益 YTD (対予算の差異を示す KPI カード)
- 現金残高(銀行口座のウォーターフォール、開始→入金→支払い→終了)
- AR エイジング (積み上げバー: 現在、30、60、90 日以上)
- 収益別上位 10 社の顧客 (収益と全体の割合を示す横棒)
ダッシュボード 2: 損益の詳細
マトリックス レイアウト:
- 行: アカウント カテゴリ (収益、COGS、総利益、カテゴリ別の OpEx、純利益)
- 列: 1 月、2 月、3 月...12 月、YTD、前 YTD
- 値: 前年比の金額 + 差異 %
ダッシュボード 3: キャッシュ フロー
ウォーターフォール チャート:
- 開始時の現金残高
-
- 顧客の領収書 (月ごと)
-
- ベンダーの支払い
-
- 給与計算
-
- その他の操作
- = 期末現金残高
QuickBooks Online Connector の既知の制限事項
制限を理解すると、現実的なアーキテクチャを設計するのに役立ちます。
| 制限 | 影響 | 回避策 |
|---|---|---|
| API レート制限 (500 リクエスト/分) | 大規模なデータセットの初期読み込みが遅い | 時間外の更新をスケジュールします。バッチリクエストを使用する |
| API 呼び出しごとに最大 500 レコード | 大規模なトランザクション テーブルでは遅い | コネクタはページネーションを自動的に処理します。 |
| DirectQuery はサポートされていません | データは常にインポートされます (リアルタイムではありません) | 頻繁な更新をスケジュールする |
| 30 分から 1 時間のデータ遅延 | ダッシュボードは完全にリアルタイムではありません | 財務報告に使用可能 |
| 勘定科目表は 10,000 に制限 | 滅多にヒットしない | 該当なし |
| QuickBooks の「レポート」エンドポイントの制限 | API 経由の損益計算書には日付範囲の柔軟性が制限されています | トランザクション テーブルから損益計算書を再構築する |
| 複数通貨の複雑さ | 為替レートが自動的に適用されない | ExchangeRate テーブルを取得し、DAX に適用する |
| 削除されたレコードにはフラグが設定されていません | 削除された請求書が表から消える | 変更追跡に監査ログ テーブルを使用する |
複数企業の連結財務
複数の QuickBooks 会社 (子会社、フランチャイズ) を持つ企業の場合、Power BI はすべてのエンティティにわたる財務を統合できます。
- QuickBooks 会社ごとに個別の Power BI クエリを作成します。
- 以下を追加する前に、各トランザクション テーブルに「会社」列を追加します。
AddCompany = Table.AddColumn(Source, "Company", each "Subsidiary A")
- すべての会社テーブルを統合ファクトテーブルに追加します。
- 企業間取引を排除した連結対策の構築
// Consolidated Revenue (excluding intercompany)
Consolidated Revenue =
CALCULATE(
[Total Revenue],
Customer[IsIntercompany] = FALSE
)
よくある質問
QuickBooks Online Power BI コネクタは無料ですか?
はい - Power BI Desktop のネイティブ QuickBooks Online コネクタは無料で使用できます。ダッシュボードを公開および共有するには、QuickBooks Online アカウント (サブスクリプションが必要) と Power BI Pro ライセンス (ユーザーあたり月額 10 ドル) が必要です。コネクタは、すべての QBO サブスクリプション層に含まれる公式の Intuit QuickBooks API を使用します。
Power BI で QuickBooks データはどのくらいの頻度で更新されますか?
Power BI Pro を使用すると、1 日あたり最大 8 回のデータ更新をスケジュールできます。 Power BI Premium または Premium Per User では、1 日あたり最大 48 回 (30 分ごと) の更新が可能です。 QuickBooks Online の API にはレート制限があることに注意してください。非常に大規模なデータセット (50,000 以上のトランザクション) は更新中にレート制限に達する可能性があり、一部の更新に時間がかかるか失敗することがあります。増分更新を使用して、更新ごとに取得されるデータの量を削減します。
Power BI は QuickBooks Desktop に接続できますか?
ネイティブ コネクタを介して直接ではありません。 QuickBooks Desktop には、QODBC ドライバー (年間 299 ~ 499 ドル)、サードパーティ コネクタ (CData、Fivetran)、または定期的な CSV/Excel エクスポートが必要です。 QuickBooks Desktop を実行している場合は、QuickBooks Online に移行して、ネイティブ Power BI コネクタとクラウドベースの自動化のロックを解除することを検討してください。
QuickBooks と完全に一致する損益計算書を表示できますか?
はい、ただし慎重なデータモデリングが必要です。 QuickBooks は口座残高から損益レポートを作成しますが、Power BI はトランザクション レベルのデータから作成します。 Power BI の勘定科目表を QuickBooks の勘定科目カテゴリ (収入、売上原価、経費) に照合して、損益階層を再構築します。公開する前に、同じ期間の QuickBooks 独自の損益レポートに対して出力をテストします。
Power BI で QuickBooks のクラスと場所を処理するにはどうすればよいですか?
QuickBooks のクラスおよび場所フィールドは、トランザクション明細の参照参照として返されます。 Class および Department (場所) テーブルをディメンションとしてクエリし、参照 ID を使用してトランザクション行に結合します。これにより、Power BI は、サービス ビジネスやフランチャイズの一般的なユース ケースである、ビジネス ユニット、プロジェクト、または場所ごとに収益と費用をセグメント化することができます。
次のステップ
QuickBooks は何百万もの企業を支えていますが、そのレポート機能により、CFO や管理者は毎月末になるとスプレッドシートに手を伸ばすことになります。 QuickBooks に接続された Power BI はこのワークフローを変革します。手動エクスポートがライブ ダッシュボードに置き換わり、期間をまたいだ分析が何時間もかかるスプレッドシート作業ではなく瞬時に行われるようになります。
ECOSIRE は、完全な損益計算書、貸借対照表、キャッシュ フロー ダッシュボードの実装を含む、QuickBooks Online および QuickBooks Desktop 向けの Power BI ERP 統合サービス を提供します。また、簿記と分析の両方のサポートを必要とする組織のために、QuickBooks 分析を 会計サービス の実践と組み合わせます。
財務分析チームにお問い合わせ、QuickBooks レポートの要件について話し合い、プロジェクトの見積もりを取得してください。
執筆者
ECOSIRE Research and Development Team
ECOSIREでエンタープライズグレードのデジタル製品を開発。Odoo統合、eコマース自動化、AI搭載ビジネスソリューションに関するインサイトを共有しています。
関連記事
AI-Powered Accounting Automation: What Works in 2026
Discover which AI accounting automation tools deliver real ROI in 2026, from bank reconciliation to predictive cash flow, with implementation strategies.
Audit Preparation Checklist: Getting Your Books Ready
Complete audit preparation checklist covering financial statement readiness, supporting documentation, internal controls documentation, auditor PBC lists, and common audit findings.
Australian GST Guide for eCommerce Businesses
Complete Australian GST guide for eCommerce businesses covering ATO registration, the $75,000 threshold, low value imports, BAS lodgement, and GST for digital services.