使用 IPP SDK API 通过 .NET 将销售收据添加到 Quickbooks Online
Adding a sales receipt to Quickbooks Online with .NET using the IPP SDK API
这可能有一个非常明显的答案,但我一直在寻找它几个小时。
我正在尝试弄清楚如何使用 sdk api 创建销售收据,以将客户的付款链接到他的发票。据我所知,如果我不这样做,付款将存入帐户,但发票永远不会更新。
我能够阅读发票、进行信用卡或电子支票付款以及阅读客户记录。
但我正在尝试创建销售收据,但我不太确定该怎么做。
我可以读取客户记录,但如何将其添加到销售收据中?
这只是给我一个语法错误:
Customer customer = readCustomerUsingEmail(email);
SalesReceipt salesReceipt = new SalesReceipt();
salesReceipt.CustomerRef = Customer;
当我将鼠标悬停在客户上方时,它显示 "Cannot implicitly convert type 'Intuit.Ipp.Data.Customer' to 'Intuit.Ipp.Data.ReferenceType'"。
编辑:好的。我现在使用 Payment 对象而不是 SalesReceipt 对象。
我认为我已经找到答案,但我还没有运行。它只是不显示语法错误。
ReferenceType customerRef = new ReferenceType()
{
Value = customerData.Customer.Id,
name = customerData.Customer.DisplayName
};
payment.CustomerRef = customerRef;
你试图在这里做一些非常错误的事情:create the sales receipt using the sdk api, for linking a payment made by a customer to his invoice
那是不是销售收据的作用。
发票 - 表示客户欠你钱。
付款 - 表示客户向您付款 - 这实际上是发票的 "other side"。您创建发票以表明他们欠款,并创建付款以还清发票。
销售收据 - 表示客户都欠您钱 并且 已经付款。例如这本质上是将发票和付款合并为一个对象,供发票和付款同时发生时使用。
太棒了……
- 销售收据不能link到发票
- 未使用销售收据 link 付款到发票
您应该做的只是创建付款,然后link将付款直接记入发票。要创建付款,您至少需要提供:
- 客户(
CustomerRef
字段)
- 总金额(
TotalAmt
字段)
- 一个
Line
对象(用于 link 发票)
- 行
Amount
(如果是单张发票的付款,这通常等于 TotalAmt
字段
- 一个
LinkedTxn
节点,其中一个link要支付的发票(TxnId
字段)
在此处查看创建付款和其他文档的示例:https://developer.intuit.com/docs/api/accounting/payment
示例:
{
"CustomerRef":
{
"value": "20",
"name": "Red Rock Diner"
},
"TotalAmt": 55.00,
"Line": [
{
"Amount": 55.00,
"LinkedTxn": [
{
"TxnId": "69",
"TxnType": "Invoice"
}]
}]
}
这里有大量示例代码:
还有 Payment
特有的:
这可能有一个非常明显的答案,但我一直在寻找它几个小时。
我正在尝试弄清楚如何使用 sdk api 创建销售收据,以将客户的付款链接到他的发票。据我所知,如果我不这样做,付款将存入帐户,但发票永远不会更新。
我能够阅读发票、进行信用卡或电子支票付款以及阅读客户记录。
但我正在尝试创建销售收据,但我不太确定该怎么做。
我可以读取客户记录,但如何将其添加到销售收据中?
这只是给我一个语法错误:
Customer customer = readCustomerUsingEmail(email);
SalesReceipt salesReceipt = new SalesReceipt();
salesReceipt.CustomerRef = Customer;
当我将鼠标悬停在客户上方时,它显示 "Cannot implicitly convert type 'Intuit.Ipp.Data.Customer' to 'Intuit.Ipp.Data.ReferenceType'"。
编辑:好的。我现在使用 Payment 对象而不是 SalesReceipt 对象。
我认为我已经找到答案,但我还没有运行。它只是不显示语法错误。
ReferenceType customerRef = new ReferenceType()
{
Value = customerData.Customer.Id,
name = customerData.Customer.DisplayName
};
payment.CustomerRef = customerRef;
你试图在这里做一些非常错误的事情:create the sales receipt using the sdk api, for linking a payment made by a customer to his invoice
那是不是销售收据的作用。
发票 - 表示客户欠你钱。
付款 - 表示客户向您付款 - 这实际上是发票的 "other side"。您创建发票以表明他们欠款,并创建付款以还清发票。
销售收据 - 表示客户都欠您钱 并且 已经付款。例如这本质上是将发票和付款合并为一个对象,供发票和付款同时发生时使用。
太棒了……
- 销售收据不能link到发票
- 未使用销售收据 link 付款到发票
您应该做的只是创建付款,然后link将付款直接记入发票。要创建付款,您至少需要提供:
- 客户(
CustomerRef
字段) - 总金额(
TotalAmt
字段) - 一个
Line
对象(用于 link 发票) - 行
Amount
(如果是单张发票的付款,这通常等于TotalAmt
字段 - 一个
LinkedTxn
节点,其中一个link要支付的发票(TxnId
字段)
在此处查看创建付款和其他文档的示例:https://developer.intuit.com/docs/api/accounting/payment
示例:
{
"CustomerRef":
{
"value": "20",
"name": "Red Rock Diner"
},
"TotalAmt": 55.00,
"Line": [
{
"Amount": 55.00,
"LinkedTxn": [
{
"TxnId": "69",
"TxnType": "Invoice"
}]
}]
}
这里有大量示例代码:
还有 Payment
特有的: