Quickbooks数据架构?

时间:2013-12-28 14:18:09

标签: database quickbooks qbxml qbfc

我正在尝试为我的员工开发一个简单的应用程序,以便在远程(访问)数据库上记录他们的时间和费用,然后将其与QuickbooksPro同步。我设法让QBFC工作,我现在的问题是理解Quickbooks中的底层数据库结构(字段名称等) - 例如所以我知道要添加到查询中的元素等。

我通过反复试验找到了以下(EntityRef,CustomerRef),并查看了使用QOBDC提取的表格;但是,某处必须有文件记录 - 任何人都知道在哪里?

    TimeDataQry.IncludeRetElementList.Add("EntityRef")
    TimeDataQry.IncludeRetElementList.Add("CustomerRef")
    TimeDataQry.IncludeRetElementList.Add("TxnDate")
    TimeDataQry.IncludeRetElementList.Add("BillableStatus")
    TimeDataQry.IncludeRetElementList.Add("Duration")
    TimeDataQry.IncludeRetElementList.Add("TimeModified")

3 个答案:

答案 0 :(得分:1)

使用QuickBooks OSR(在Chrome中效果最佳):

从“选择消息”下拉列表中选择您正在处理的请求/对象类型,然后单击任何节点以查看节点上的文档。

例如,您在上面发布的内容看起来就像是在查看时间跟踪条目。以下是您从OSR获得的关于 EntityRef 的信息:

  

<强>实体

     

QuickBooks“实体”是客户,供应商,员工或   QuickBooks上的人“其他名字”列表。需要注意的特殊情况:

     
      
  • 在BillToPayQuery消息中,EntityRef引用供应商名称。
  •   
  • 在   A / R账户的JournalCreditLine和JournalDebitLine消息,   EntityRef必须引用客户,否则交易不会   被记录下来。对于A / P帐户,EntityRef必须引用供应商,或   否则交易将不会被记录。
  •   
  • 在TimeTracking消息中,   EntityRef不能引用客户,也不能引用员工,供应商或   在追踪时间的“其他名称”清单上的人。
  •   

非常简单,非常详细。

值得注意的是, QuickBooks API几乎完全反映了QuickBooks GUI 。例如,在QuickBooks GUI中创建发票时,您将看到如下字段:

  • 客户
  • 日期
  • 发票#
  • 项目
  • 采购订单编号

然后,如果您在API中查看 InvoiceAdd ,您会找到以下字段:

  • CustomerRef
  • TxnDate
  • RefNumber
  • 的itemref
  • 采购单号码

将两个和两个放在一起并确定这些字段与GUI中显示的字段匹配应该非常困难。

答案 1 :(得分:0)

说实话,实际的QB数据架构非常糟糕 - 庞大且令人困惑。不值得尝试弄清楚如何直接与他们的API进行交互。这就是人们喜欢QODBC创造更简单的方式与之互动的原因之一。你买过QODBC吗?

我使用QODBC和RSSBus创建了应用程序,我更喜欢RSSBus。原因有很多,但对于初学者来说,QODBC实际上是一个使用DNS的驱动程序,这可能会令人困惑,必须在每台要使用它的计算机上进行设置,而RSSBus则没有。 QODBC和RSSBus所做的是将QB数据库包装在类似sqlserver的数据库中,因此从QODBC工具中提取的任何表结构很可能与通过QBFC可以使用的任何内容无关。

我现在更喜欢RSSBus,但这里有两个文档的链接:

RSSBus - http://www.rssbus.com/kb/help/RQR3-A/pg_imetracking.rst

QODBC - http://doc.qodbc.com/qodbc/Qodbc_20_us.html

此外,这个SO问题可能有所帮助 - QuickBooks QBFC explanation。请注意,他说有300多页的文档。有点太多imo。

答案 2 :(得分:0)

以下是关于表模式的QODBC文档: All Tables。 如果您需要特定的美国相关表格分组,如客户和AR,请在此处查看: Tables by Group