ConsoliBYTE用于QuickBooks的PHP devkit - 添加自定义ID

时间:2014-03-07 11:36:43

标签: php quickbooks

我想使用consolibyte quickbooks php devkit将客户和发票发送到quickbooks在线帐户。我已设法做到这一点,但我无法为客户和发票设置我的自定义ID,因为库从对象中取消了它们。

有人知道这是否可以实现,或者quickbooks API是否允许这样做?

另一种方法是将quickbooks_id存储在我的数据库中,我试图避免这种情况。

谢谢!

编辑:一些代码

$IPP->version(QuickBooks_IPP_IDS::VERSION_3);

$CustomerService = new QuickBooks_IPP_Service_Customer();

$Customer = new QuickBooks_IPP_Object_Customer();
$Customer->setId(101); // this is the ID i want to set
$Customer->setTitle('Mr');
$Customer->setGivenName('John');
$Customer->setFamilyName('Doe');

1 个答案:

答案 0 :(得分:1)

这肯定是可行:

$Customer->setId(101); // this is the ID i want to set

您不能只创建自己的Id值。这些是QuickBooks的Id值 - 在QuickBooks Online中基本上是他们的主键。

如果您对对象进行查询,则会为所有对象返回Id个值。如果您创建一个新对象,您将从Intuit返回一个Id值,用于新创建的对象。可以把它想象成一个SQL数据库的AUTO_INCREMENT PRIMARY KEY。您执行插入操作,即可获得唯一的Id值。

这不是PHP代码本身的限制 - 它是实际的QuickBooks API的工作方式。 Id值不是您的 Id值,它们是 QuickBooks' Id值。它们可设置值。

应该Id值存储在您自己的数据库中。即使您可以设置这些Id值,您也必须记住您不是唯一可以访问QuickBooks数据的人 - 如果您可以设置他们,然后所以连接到QuickBooks的任何其他应用程序基本上会覆盖您设置的任何值。