SELECT dbo.SO_Main.InvoiceID as SaleID ,dbo.SO_Main.InvoiceNo + case when SO_History.HistoryNo=1 then '' else '-D' + CASE WHEN SO_History.HistoryNo < 10 THEN '0' ELSE '' END + CAST(SO_History.HistoryNo as varchar(2)) end as InvoiceNumber ,dbo.SO_Main.InvoiceNo + case when SO_History.HistoryNo=1 then '' else '-D' + CASE WHEN SO_History.HistoryNo < 10 THEN '0' ELSE '' END + CAST(SO_History.HistoryNo as varchar(2)) end as DeliveryDocketNumber --, dbo.SO_Main.InvoiceNo as InvoiceNumber --, dbo.SO_Main.InvoiceNo as DeliveryDocketNumber --, dbo.SO_Main.InvoiceID --, dbo.SO_Main.SOReference As InvoiceNumber ?? , dbo.SO_History.RecordDate AS InvoiceDate , dbo.SO_Main.ExpectedDeliveryDate AS PromisedDate , dbo.SO_Main.OrderNo as CustomerPONumber , dbo.SO_History.DelAddress1 as ShipToAddressLine1 , dbo.SO_History.DelAddress2 as ShipToAddressLine2 , dbo.SO_History.DelAddress3 as ShipToAddressLine3 , dbo.SO_History.DelAddress4 as ShipToAddressLine4 , '' as Memo , case when dbo.SO_Main.Status = 2 then 'INVOICED' else 'ONORDER' end as InvoiceStatusID , dbo.DB_Main.AccountNo as CardIdentification , dbo.DB_Main.Name as LastName , dbo.DB_Main.Address1 as StreetLine1 , dbo.DB_Main.Address2 as StreetLine2 , '' as StreetLine3 , '' as StreetLine4 , dbo.DB_Main.Address3 as City , dbo.DB_Main.Address4 as State , dbo.DB_Main.PostCode AS PostCode -- , dbo.SO_History.PostCode as PostCode , '' as Country , dbo.DB_Main.Phone as Phone , dbo.DB_Main.Fax as Fax , dbo.DB_Main.Address3 AS Address ,'' as ShippingMethod FROM dbo.SO_Main INNER JOIN dbo.SO_History ON dbo.SO_Main.InvoiceID = dbo.SO_History.InvoiceID AND dbo.SO_Main.CurrentHistoryNo = dbo.SO_History.HistoryNo INNER JOIN dbo.DB_Main ON dbo.SO_Main.DebtorID = dbo.DB_Main.DebtorID WHERE CreditNote=0 --WHERE (dbo.SO_Main.Status = 1 OR -- dbo.SO_Main.Status = 2) AND OrderNo = '{OrderNumber}' ORDER BY InvoiceNo, HistoryNo