Xero Api - 费用标记为付费

时间:2017-10-02 08:40:22

标签: xero-api

使用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);
        }

    }

1 个答案:

答案 0 :(得分:2)

对于其他想知道的人,设法得到了Xero的回复......

通常,对于发票或信用票据,您需要使用Payments端点向他们全额付款,以将其标记为付款。

很遗憾,您目前无法通过Xero API支付费用索赔。付款需要在Xero应用中完成。

https://developer.xero.com/documentation/api/expense-claims#POST

目前无法完成。