local procedure BuildPOSPayload(SalesEntry: Record "LSC Trans. Sales Entry"): Text
var
JsonRoot, Invoice, LineItem : JsonObject;
LineArray: JsonArray;
TempEntry: Record "LSC Trans. Sales Entry";
tostring: Text;
begin
Invoice.Add('invoiceIdentifier', SalesEntry."Transaction No.");
// Invoice.Add('cashierId', SalesEntry."Staff ID"); // Removed because 'Staff ID' does not exist in the record
TempEntry.CopyFilters(SalesEntry);
if TempEntry.FindSet() then begin
repeat
Clear(LineItem);
LineItem.Add('itemNo', TempEntry."Item No.");
LineItem.Add('productCodeOwn', TempEntry."Item No.");
LineItem.Add('itemDesc', TempEntry."Item Description");
LineItem.Add('quantity', Format(TempEntry.Quantity));
LineItem.Add('unitPrice', Format(TempEntry.Price));
LineItem.Add('discount', Format(TempEntry."Discount Amount"));
LineItem.Add('amtWoVatCur', Format(TempEntry."Net Amount"));
LineItem.Add('vatRate', Format(TempEntry."VAT Amount"));
LineArray.Add(LineItem);
until TempEntry.Next() = 0;
end;
Invoice.Add('lineItems', LineArray);
JsonRoot.Add('invoice', Invoice);
JsonRoot.WriteTo(tostring);
exit(tostring);
end;