6

私は、会社の顧客が過去 12 か月間の明細書と現在の残高を表示できる単純な Web サイトの構築に取り組んでいます。これを実現するために、QuickBooks Web コネクタを使用して、必要なデータを QuickBooks 社内ファイルから MySQL データベースにエクスポートします (ConsoliBYTE の PHP DevKit 経由)。

しかし、私は QuickBooks 自体にあまり精通していないので、質問は次のとおりです: 正確な顧客残高を計算するには、QBXML 応答のどのフィールドからデータベースに保存する必要がありますか?

どのタイプのトランザクションが残高に寄与または影響を与える可能性があるか (請求書以外) がわからないため、InvoiceQuery と CustomerQuery 以外にどの QBXML 要求を作成すればよいかわかりません。

また、請求書の残高自体は必ずしも信頼できるものではないことを示唆する Keith Palmer による次の投稿も意識しています。

「請求書の残高は、請求書自体を変更せずに変更できます (残高は請求書自体のフィールドではなく、他のレコードから計算されたフィールドであるため)」

Web コネクタが実行されるたびにデータベース内のすべての請求書データを置き換えるか、関連するレコードから自分で請求書の残高を計算する方がよいかわかりません。その場合、請求書の残高を計算するために必要なデータは何ですか? ?

回答

@consolibyteの回答は、顧客の残高を取得する最も簡単な方法のように思われるため、特定の使用法には十分ではありませんが、それを受け入れました.

@Hpjchobbes の回答は、QuickBooks の組み込みの残高詳細レポートを取得するのに役立ちます。

トランザクションの完全に項目別のリストを提示する必要があったため、独自の回答も追加しました。正常に動作しているように見えますが、失敗する状況が発生する可能性があります。

4

3 に答える 3

4

トランザクション データのみに基づいて残高を計算することは、QuickBooks API では困難な場合があります。考慮に入れる必要がある可能性があるものはたくさんあります。

  • 請求書残高
  • クレジットメモ残高
  • 小切手
  • 顧客開始残高
  • 支払い
  • 支払い割引
  • おそらく、今は頭の中で思いつかない他の何か

BalanceQuickBooks にいる顧客の数によっては、顧客を直接クエリしてから、代わりに顧客レコードで返されたノードを使用する方がよい場合があります。

于 2013-09-20T12:21:23.143 に答える
3

注: これは私のユース ケースでは機能しているように見えますが、万能のソリューションであると自信を持って言うことはできません。

明細書を顧客に提示する必要があるため、TransactionQuery を使用して QuickBooks からすべてのトランザクションをインポートしています。

その後、アカウント名「Accounts Receivable」のトランザクションをフィルタリングすると、顧客の残高に寄与するすべてのトランザクションが正確にリストされ、「Amount」列を合計して残高を計算するか、同じトランザクション テーブルにさらにクエリを実行するために使用できます。個々の項目。以下のクエリの例を参照してください。

/* Calculate balance from transactions */
SELECT SUM(Amount)
FROM quickbooks_transaction
WHERE EntityRefListID = '$customer_listid'
  AND AccountRefFullName = 'Accounts Receivable';

/* Retrieve line items for a transaction */
SELECT *
FROM quickbooks_transaction
WHERE TxnID = '$transaction_id'
  AND TxnLineID != '';

本当に必要な場合は、項目の金額を合計して残高を計算することもできると思いますが、SUM に親トランザクションを含めないようにする必要があります。

于 2013-09-26T11:17:03.097 に答える