-- Draft p1790621868706_fb5f7cf3 - SuperValu invoice 907260825592619 -- 2 of 3: InvoiceHeader + InvoiceDetail, the rows SaveService would write for this draft. -- Vendor 1 = SuperValu (the draft has no vendor selected). -- PO: next 10-digit number across InvoiceHeader and POHeader, same as the app. USE posinv; GO SET XACT_ABORT ON; BEGIN TRAN; DECLARE @vendor int = 1, @inv varchar(100) = '907260825592619', @date datetime = '20260825', @receiver int = 1, -- your emp_no from posbdat..Employees @po varchar(12); IF EXISTS (SELECT 1 FROM dbo.InvoiceHeader WITH (UPDLOCK, HOLDLOCK) WHERE InvoiceNumber = @inv AND Vendor = @vendor) BEGIN ROLLBACK; RAISERROR('Invoice 907260825592619 already exists for vendor 1', 16, 1); RETURN; END SELECT @po = RIGHT(REPLICATE('0', 10) + CAST(CASE WHEN InvoiceMax > POMax THEN InvoiceMax ELSE POMax END + 1 AS varchar(20)), 10) FROM (SELECT ISNULL((SELECT MAX(TRY_CONVERT(bigint, LTRIM(RTRIM(PONumber)))) FROM dbo.InvoiceHeader WITH (UPDLOCK, HOLDLOCK) WHERE LTRIM(RTRIM(PONumber)) NOT LIKE '%[^0-9]%'), 0) AS InvoiceMax, ISNULL((SELECT MAX(TRY_CONVERT(bigint, LTRIM(RTRIM(PONumber)))) FROM dbo.POHeader WITH (UPDLOCK, HOLDLOCK) WHERE LTRIM(RTRIM(PONumber)) NOT LIKE '%[^0-9]%'), 0) AS POMax) AS M; -- TotalCost = sum of line Totals (21.00 + 20.53) -- TotalPrice = sum of Price * Pack * QuantityCase (only the qty-1 rotini line: 1.39 * 1 * 1) -- Price_Cost_Change = 1 because script 3 creates a batch INSERT INTO dbo.InvoiceHeader (PONumber, PODate, InvoiceDate, Vendor, InvoiceNumber, VendorTotal, ReceivedInvoice, Price_Cost_Change, TotalCost, TotalPrice, InvoiceQuantity, Salesman, Receiver, Deliverer) VALUES (@po, @date, @date, @vendor, @inv, 480.11, 1, 1, 41.53, 1.39, 1, '', @receiver, ''); -- Cost = case cost / pack, CaseCost = invoice cost, Price = unit retail INSERT INTO dbo.InvoiceDetail (PONumber, UPC, Cert_code, Description, Cost, Price, Total, Pack, CaseCost, QuantityCase, Size, UnitOfMeasure, PurchaseType) VALUES (@po, '0002680000550', 'F 645479', 'AMER/BEAUTY ROTINI', 0, 1.39, 21.00, 1, 0, 0, '16', 'OZ', 0), (@po, '0088810925309', '3491452', 'HST GLAZED HNY BUN', 0, 2.49, 0, 184, 0, 0, NULL, 'OZ', 0), (@po, '0019269900079', '4178665', 'SMYNG BLDK ROSE BG BWL 3.', 0, 3.29, 0, 824, 0, 0, '0.65', 'OZ', 0), (@po, '0002680000550', '645479', 'AMER/BEAUTY ROTINI', 20.53, 1.39, 20.53, 1, 20.53, 1, '16', 'OZ', 0); SELECT @po AS PONumber; COMMIT; GO