使用Xero.Api进行Xero会计,我希望将费用从授权更新为付费。目前,我收到以下错误:
“状态更改无效。状态为'AUTHORIZED'的费用声明无法更新为状态为'PAID'”
这是否可以通过API执行,如果是,那么最小字段更改是什么,以便进行处理?
非常感谢。
public static void SetExpensePaid(Xero.Api.Example.Applications.Private.Core api,List<Guid> guids)
{
var account = api.Accounts.Find();
var bank = account.Where(x => x.Name == "Bank").FirstOrDefault();
foreach (var g in guids)
{
var exp =api.ExpenseClaims.Find(g);
var amount = exp.AmountDue;
exp.AmountPaid = amount;
exp.AmountDue = 0;
exp.Status = Xero.Api.Core.Model.Status.ExpenseClaimStatus.Paid;
Payment payment = new Payment()
{
Account = bank,
BankAmount = (decimal?)amount,
Date = DateTime.Today,
IsReconciled = false,
Amount = (decimal?)amount
};
api.Payments.Create(payment);
exp.Payments.Add(payment);
api.ExpenseClaims.Update(exp);
}
}
答案 0 :(得分:2)
对于其他想知道的人,设法得到了Xero的回复......
通常,对于发票或信用票据,您需要使用Payments端点向他们全额付款,以将其标记为付款。
很遗憾,您目前无法通过Xero API支付费用索赔。付款需要在Xero应用中完成。
https://developer.xero.com/documentation/api/expense-claims#POST
目前无法完成。