Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 将Quickbook在线api集成到rails应用程序_Ruby On Rails 3_Api_Quickbooks Online - Fatal编程技术网

Ruby on rails 3 将Quickbook在线api集成到rails应用程序

Ruby on rails 3 将Quickbook在线api集成到rails应用程序,ruby-on-rails-3,api,quickbooks-online,Ruby On Rails 3,Api,Quickbooks Online,我正在整合 rails应用程序到Quickbooks online 使用API 使用宝石 但是想要增加折扣,在发票中增加税收,但没有成功,甚至找不到如何传递API。ruby中应该有类似JAXB的东西用于对象序列化/反序列化 从以下链接,您可以下载QB端点定义和数据类定义(作为XSD)。您需要从中生成数据类 然后使用任何标准的基于ruby的OAuth库,您可以调用QBAPI端点。 您可以使用数据类的setter方法(在您的示例中为-invoice)来填充数据/构造有效负载。(我没有现成的例子,但

我正在整合

rails应用程序到Quickbooks online

使用API

使用宝石


但是想要增加折扣,在发票中增加税收,但没有成功,甚至找不到如何传递API。

ruby中应该有类似JAXB的东西用于对象序列化/反序列化

从以下链接,您可以下载QB端点定义和数据类定义(作为XSD)。您需要从中生成数据类

然后使用任何标准的基于ruby的OAuth库,您可以调用QBAPI端点。 您可以使用数据类的setter方法(在您的示例中为-invoice)来填充数据/构造有效负载。(我没有现成的例子,但我想在网上也不难找到)

对于doc,您可以参考以下两个链接

谢谢

invoice=Quickbooks::Model::invoice.new
invoice.customer\u id=1
发票日期=土建日期(2014年3月27日)
invoice.doc_number=“001”
transaction_tax=Quickbooks::Model::TransactionTaxDetail.new
#指向QBO中保存的税码,例如,这指向id=2,
#这是保存在QBO账户上的纽约州税代码=10%的销售税
事务处理\u tax.txn\u tax\u代码\u id=2
交易税。总税=134.10
invoice.txn_tax_detail=交易税
sales\u line\u item=Quickbooks::Model::InvoiceLineItem.new
销售\行\项目金额=1490
sales\u line\u item.description=“CCM溜冰鞋”
销售商品。销售商品!详细说明|
详细信息:单价=149
细节。数量=10
detail.item_id=1#此处为item id
detail.tax_code_id='tax'#对于我们来说必须是'NON'或'tax'
结束
折扣线项目=Quickbooks::Model::InvoiceLineItem.new
折扣\行\项目。金额=149
折扣商品。折扣商品!详细说明|
详细信息。折扣率=10
基于细节的百分比=真
detail.discount\u账号\u id=99
结束

发票.行\项目是。。。这是对的。。我想在发票中的quickbooks中添加税费。。那么,如何在创建发票时包含税费呢?是否可以将税费添加到单个行项目而不是整个发票?
invoice = Quickbooks::Model::Invoice.new
invoice.customer_id = 1
invoice.txn_date = Date.civil(2014, 3, 27)
invoice.doc_number = "001"

transaction_tax = Quickbooks::Model::TransactionTaxDetail.new
# Point to a saved tax code in QBO, e.g. this points to id = 2, 
# which is a NYC tax code saved on QBO account = 10% sales tax
transaction_tax.txn_tax_code_id = 2
transaction_tax.total_tax =  134.10
invoice.txn_tax_detail = transaction_tax

sales_line_item = Quickbooks::Model::InvoiceLineItem.new
sales_line_item.amount = 1490
sales_line_item.description = "CCM ice skates"
sales_line_item.sales_item! do |detail|
  detail.unit_price = 149
  detail.quantity = 10
  detail.item_id = 1 # Item ID here
  detail.tax_code_id = 'TAX' # for US must be 'NON' or 'TAX'
end

discount_line_item = Quickbooks::Model::InvoiceLineItem.new
discount_line_item.amount = 149
discount_line_item.discount_item! do |detail|
  detail.discount_percent = 10
  detail.percent_based = true
  detail.discount_account_id = 99
end

invoice.line_items << sales_line_item
invoice.line_items << discount_line_item

service = Quickbooks::Service::Invoice.new
service.access_token = OAuth::AccessToken.new($qb_oauth_consumer, "token", "secret")
service.company_id = "9991111222"
created_invoice = service.create(invoice)