将数据导入Quickbooks常规日记条目



我尝试将数据从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;
    }

是否检查了SyncStatus,并找出原因?

这应该是您的起点:https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/syncstatus

它将为您提供更多详细信息,具体说明数据未能同步的原因。

最新更新