The account used does not have the "Use any transaction date" permission.
This is the code we use.
Code: Select all
var newTransaction = transactionsManager.NewTransaction<ILedgerTransferOutTransaction>(ledgerInfo);
newTransaction.Memo = memo;
newTransaction.Amount = amount;
newTransaction.Name = name;
newTransaction.Status = TransactionStatus.Posted;
var ledgerInTransaction = transactionsManager.NewLedgerTransferIn(newTransaction, ledgerInInfo, TransactionStatus.Posted, null);
ledgerInTransaction.Memo = transferInMemo;
ledgerInTransaction.Splits.Where(s => s.Kind == TransactionSplitKind.Applied).FirstOrDefault().Amount = amount;
ledgerInTransaction.Splits.Where(s => s.Kind == TransactionSplitKind.Unapplied).FirstOrDefault().Amount = 0;
ledgerInTransaction.Name = orderNumber;
ledgerInTransaction.Tags.Add(new Tag("OrderContactID", contactId));
ledgerInTransaction.Medium = medium;
transactionsManager.ApplyChanges(null, newTransaction);