将数据导入Quickbooks常规日记帐分录

时间:2013-07-24 15:29:58

标签: c# quickbooks intuit-partner-platform

我尝试将数据从我的POS系统导入Quickbooks以创建常规日记条目。当我添加一些静态(硬编码)数据时,所有成功保存。但是当我尝试从我的应用程序添加数据时,QB将数据添加到dataService但是当我同步QB数据时没有来。请问你能解决我的问题。这是我的代码。

//main code to add General Journal Entry to QB
var header = GenerateReportHeader(model);

var creditInfo = GenerateJournalEntryLines(model.CreditInformation, PostingTypeEnum.Credit);
var debitInfo = GenerateJournalEntryLines(model.DebitInformation, PostingTypeEnum.Debit);

var allLines = creditInfo.Concat(debitInfo).ToArray();
var result = new JournalEntry();
result.Header = header;
result.Line = allLines;
dataService.Add(result);

//Add Header
private JournalEntryHeader GenerateReportHeader(GeneralJournalModel model)
    {
        var result = new JournalEntryHeader
        {
            TxnDate = new DateTime(2013,7,1),
            Status = "Payable",
            Adjustment = false,
            TxnDateSpecified = true
        };
        if (!String.IsNullOrEmpty(model.EntryNo))
        {
            result.DocNumber = model.EntryNo;
        }
        return result;
    }
 //Add Line
    private JournalEntryLine[] GenerateJournalEntryLines(List<GeneralJournalEntryModel> model, PostingTypeEnum postType)
    {
        var result = new JournalEntryLine[model.Count];
        for (int i = 0; i < model.Count; i++)
        {
            var journalEntryLine = model[i];
            var account = GetAccountByNumber(journalEntryLine.AccountNumber);
            var toAdd = new JournalEntryLine
            {
                AccountId = account.Id,
                AccountType = account.Type,
                AccountName = account.Name,
                Amount = Convert.ToDecimal(journalEntryLine.Amount),
                AmountSpecified = true,
                PostingType = postType,
                AccountTypeSpecified = true,
                Id = new IdType(),
                PostingTypeSpecified = true
            };
            if (journalEntryLine.EntityId != null)
            {
                toAdd.EntityId = GetEntityId(journalEntryLine.EntityType, journalEntryLine.EntityId);
                toAdd.EntityType = GetEntityType(journalEntryLine.EntityType);
                toAdd.EntityName = GetEntityName(journalEntryLine.EntityType, journalEntryLine.EntityId);
                toAdd.EntityTypeSpecified = true;
            }

            result[i] = toAdd;
        }
        return result;
    }

1 个答案:

答案 0 :(得分:0)

你检查了SyncStatus,找出原因吗?

这应该是你开始的地方: https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/syncstatus

它将为您提供有关数据无法同步的具体原因的详细信息。