public static Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry GetInvoiceByInvoiceNumber(string invoicenumber)
        {
            Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry result = null;
            if (application != null)
            {
                // PURCHASE INVOICES
                Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntries invoices = Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntriesFactory.Factory.CreateNew();
                Sage.ObjectStore.Query query = new Sage.ObjectStore.Query();

                Sage.ObjectStore.Filter filter = new Sage.ObjectStore.Filter(Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry.FIELD_ENTRYTYPE, Sage.Accounting.TradingAccountEntryTypeEnum.TradingAccountEntryTypeInvoice);
                query.Filters.Add(filter);

                Sage.ObjectStore.Filter filter1 = new Sage.ObjectStore.Filter(Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry.FIELD_INSTRUMENTNO, invoicenumber);
                query.Filters.Add(filter1);

                invoices.Find(query);

                result = invoices.First;
            }

            return(result);
        }
        public static List <Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry> GetCreditNotes()
        {
            List <Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry> list = new List <Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry>();

            if (application != null)
            {
                Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntries creditnotes = Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntriesFactory.Factory.CreateNew();
                Sage.ObjectStore.Query  query  = new Sage.ObjectStore.Query();
                Sage.ObjectStore.Filter filter = new Sage.ObjectStore.Filter(Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry.FIELD_ENTRYTYPE, Sage.Accounting.TradingAccountEntryTypeEnum.TradingAccountEntryTypeCreditNote);
                query.Filters.Add(filter);

                creditnotes.Find(query);

                foreach (Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry entry in creditnotes.GetList().Cast <Sage.Accounting.PurchaseLedger.PostedPurchaseAccountEntry>().ToList())
                {
                    if (entry.DocumentStatus == Sage.Accounting.AllocationStatusEnum.DocumentStatusBlank && entry.SecondReferenceNo.Length > 0)
                    {
                        list.Add(entry);
                    }
                }
            }

            return(list);
        }