/// <summary> /// Converts JournalEntry to StandardAccountingTransactionDTO object /// </summary> /// <param name="JournalEntry"></param> /// <returns>JournalEntry</returns> public StandardAccountingTransactionDTO GetAccountingTransactionData(Intuit.Ipp.Data.JournalEntry journalEntry) { var curFinLineDTOList = new List <FinancialLineDTO>(); foreach (var curLine in journalEntry.Line) { var curFinLineToAdd = new FinancialLineDTO(); //The way to extract Journal Entry Line Detail type object from the Line JournalEntryLineDetail curJournalEntryLineDetail = (JournalEntryLineDetail)curLine.AnyIntuitObject; //Add Debit or Credit type curFinLineToAdd.DebitOrCredit = curJournalEntryLineDetail.PostingType.ToString(); //Add Amount curFinLineToAdd.Amount = curLine.Amount.ToString(); //Add Account Name curFinLineToAdd.AccountName = curJournalEntryLineDetail.AccountRef.name; //Add Account Id curFinLineToAdd.AccountId = curJournalEntryLineDetail.AccountRef.Value; //Add Description curFinLineToAdd.Description = curLine.Description; //Add the prepared line to the list curFinLineDTOList.Add(curFinLineToAdd); } var curAccountTransactionDTO = new StandardAccountingTransactionDTO() { Name = journalEntry.DocNumber, TransactionDate = journalEntry.TxnDate, FinancialLines = curFinLineDTOList, Memo = journalEntry.PrivateNote }; return(curAccountTransactionDTO); }
public static Intuit.Ipp.Data.JournalEntry CreateJournalEntry() { var journalEntry = new Intuit.Ipp.Data.JournalEntry(); journalEntry.Adjustment = true; journalEntry.AdjustmentSpecified = true; journalEntry.DocNumber = "DocNu1"; journalEntry.TxnDate = DateTime.UtcNow.Date; journalEntry.TxnDateSpecified = true; journalEntry.HomeTotalAmt = 100; journalEntry.HomeTotalAmtSpecified = true; journalEntry.TotalAmt = 100; journalEntry.TotalAmtSpecified = true; journalEntry.PrivateNote = "This is the test Journal Entry"; List <Line> lineList = new List <Line>(); Line debitLine = new Line(); debitLine.Description = "That is the first line description"; debitLine.Amount = new Decimal(100.00); debitLine.AmountSpecified = true; debitLine.DetailType = LineDetailTypeEnum.JournalEntryLineDetail; debitLine.DetailTypeSpecified = true; JournalEntryLineDetail journalEntryLineDetail = new JournalEntryLineDetail(); journalEntryLineDetail.PostingType = PostingTypeEnum.Debit; journalEntryLineDetail.PostingTypeSpecified = true; journalEntryLineDetail.AccountRef = new ReferenceType() { name = "Accumulated Depreciation", Value = "36" }; debitLine.AnyIntuitObject = journalEntryLineDetail; lineList.Add(debitLine); Line creditLine = new Line(); creditLine.Description = "That is the second line description"; creditLine.Amount = new Decimal(100.00); creditLine.AmountSpecified = true; creditLine.DetailType = LineDetailTypeEnum.JournalEntryLineDetail; creditLine.DetailTypeSpecified = true; JournalEntryLineDetail journalEntryLineDetailCredit = new JournalEntryLineDetail(); journalEntryLineDetailCredit.PostingType = PostingTypeEnum.Credit; journalEntryLineDetailCredit.PostingTypeSpecified = true; journalEntryLineDetailCredit.AccountRef = new ReferenceType() { name = "Accumulated Depreciation", Value = "36" }; creditLine.AnyIntuitObject = journalEntryLineDetailCredit; lineList.Add(creditLine); journalEntry.Line = lineList.ToArray(); return(journalEntry); }
/// <summary> /// Converts StandardAccountingTransactionDTO to JournalEntry object /// </summary> /// <param name="StandardAccountingTransactionCM"></param> /// <returns>JournalEntry</returns> public Intuit.Ipp.Data.JournalEntry CreateQbJournalEntry(StandardAccountingTransactionDTO curAccountTransactionDTO) { //Pack Standard Accounting Transaction DTO with data var curJournalEntry = new Intuit.Ipp.Data.JournalEntry { DocNumber = curAccountTransactionDTO.Name, TxnDate = curAccountTransactionDTO.TransactionDate, PrivateNote = curAccountTransactionDTO.Memo }; var curFinancialLines = curAccountTransactionDTO.FinancialLines; var curTransactionList = new List <Line>(); foreach (var curTransaction in curFinancialLines) { var curLineToAdd = new Line { Description = curTransaction.Description, Id = curTransaction.AccountId }; //Add Debit or Credit type var curJournalEntryLineDetail = new JournalEntryLineDetail { PostingType = ParseEnum <PostingTypeEnum>(curTransaction.DebitOrCredit) }; //Add AccountRef and add name var curAccountRef = new ReferenceType { name = curTransaction.AccountName }; curJournalEntryLineDetail.AccountRef = curAccountRef; curLineToAdd.AnyIntuitObject = curJournalEntryLineDetail; //Add Amount curLineToAdd.Amount = decimal.Parse(curTransaction.Amount); //Pack the line to the array curTransactionList.Add(curLineToAdd); } Line[] curLineArray = curTransactionList.ToArray(); curJournalEntry.Line = curLineArray; return(curJournalEntry); }