Invoice invoice = new Invoice(session);
await invoice.Prepare();
invoice.InvoiceRow[Invoice.Field_Invoice_InvoiceNumber] = await invoice.GetNextInvoiceNumber(Invoice.Literal_InvoiceType_Sale, 0);
invoice.InvoiceRow[Invoice.Field_Invoice_InvoiceType_LinkCode] = Invoice.Literal_InvoiceType_Sale;
invoice.InvoiceRow[Invoice.Field_Invoice_IssueDate] = DateTime.Today;
invoice.InvoiceRow[Invoice.Field_Invoice_Client_LinkNo] = 4;
invoice.InvoiceRow[Invoice.Field_Invoice_Branch_LinkNo] = 0;
invoice.InvoiceRow[Invoice.Field_Invoice_RecordLocator] = "ABCDEF";
invoice.AddRow(invoice.InvoiceRow);
invoice.BookingRow[Invoice.Field_Booking_SubmitTo_LinkCode] = Invoice.Literal_SubmitTo_Supplier;
invoice.BookingRow[Invoice.Field_Booking_Vendor_LinkNo] = 2;
invoice.BookingRow[Invoice.Field_Booking_ConfirmNo] = "ABC123";
invoice.BookingRow = invoice.AddRow(invoice.BookingRow);
invoice.BookingRow[Invoice.Field_Booking_SubmitTo_LinkCode] = Invoice.Literal_SubmitTo_Supplier;
invoice.BookingRow[Invoice.Field_Booking_Vendor_LinkNo] = 3;
invoice.BookingRow[Invoice.Field_Booking_ConfirmNo] = "DEF456";
invoice.AddRow(invoice.BookingRow);
invoice.SegmentRow[Invoice.Field_Segment_IndexNo] = 1;
invoice.AddRow(invoice.SegmentRow);
await invoice.Save();