I am trying to insert header and line data via the Business Central OData service in one request. I have the Sales Order page exposed as a public web service (ID 42). I am making a POST request to the OData service.
/Sandbox/ODataV4/Company('CRONUS Canada, Inc.')/SalesOrder
This is the body of my request:
{
"Document_Type": "Order",
"No": "",
"Sell_to_Customer_No": "10000",
"Sell_to_Customer_Name": "Adatum Corporation",
"Quote_No": "",
"Posting_Description": "Order S-ORD101001",
"Sell_to_Address": "360 Main Street, Suite 1150",
"Sell_to_Address_2": "",
"Sell_to_City": "Winnipeg",
"Sell_to_County": "MB",
"Sell_to_Post_Code": "R3C 3Z3",
"Sell_to_Country_Region_Code": "CA",
"Sell_to_Contact_No": "CT000001",
"Sell_to_Phone_No": "",
"SellToMobilePhoneNo": "",
"Sell_to_E_Mail": "robert.townes@contoso.com",
"No_of_Archived_Versions": 0,
"Document_Date": "2022-04-02",
"Posting_Date": "2022-04-02",
"Order_Date": "2022-04-02",
"Due_Date": "2022-05-02",
"Requested_Delivery_Date": "2022-04-03",
"Promised_Delivery_Date": "0001-01-01",
"External_Document_No": "",
"Your_Reference": "OPEN",
"ShpfyOrderNo": "",
"ShpfyShopify_Risk_Level": " ",
"Salesperson_Code": "JO",
"Campaign_No": "",
"Opportunity_No": "",
"Responsibility_Center": "",
"Assigned_User_ID": "CFORSEY",
"Job_Queue_Status": " ",
"CFDI_Purpose": "",
"CFDI_Relation": "",
"CFDI_Export_Code": "",
"WorkDescription": "",
"Currency_Code": "",
"Company_Bank_Account_Code": "",
"Prices_Including_VAT": false,
"VAT_Bus_Posting_Group": "",
"Payment_Terms_Code": "1M(8D)",
"Payment_Method_Code": "",
"EU_3_Party_Trade": false,
"Tax_Liable": true,
"Tax_Area_Code": "MB",
"SelectedPayments": "No payment service is made available.",
"Shortcut_Dimension_1_Code": "SALES",
"Shortcut_Dimension_2_Code": "SMALL",
"Payment_Discount_Percent": 2,
"Pmt_Discount_Date": "2022-04-10",
"Journal_Templ_Name": "",
"Direct_Debit_Mandate_ID": "",
"ShippingOptions": "Default (Sell-to Address)",
"Ship_to_Code": "",
"Ship_to_UPS_Zone": "",
"Ship_to_Contact": "Robert Townes",
"Shipment_Method_Code": "",
"Shipping_Agent_Code": "FEDEX",
"Shipping_Agent_Service_Code": "NEXT DAY",
"Package_Tracking_No": "",
"BillToOptions": "Default (Customer)",
"BillToContactPhoneNo": "",
"BillToContactMobilePhoneNo": "",
"Location_Code": "",
"Shipment_Date": "2022-06-02",
"Shipping_Advice": "Partial",
"Outbound_Whse_Handling_Time": "",
"Shipping_Time": "1D",
"Combine_Shipments": false,
"Transaction_Specification": "",
"Transaction_Type": "",
"Transport_Method": "",
"Exit_Point": "",
"Area": "",
"Language_Code": "ENC",
"Prepayment_Percent": 0,
"Compress_Prepayment": true,
"Prepmt_Payment_Terms_Code": "1M(8D)",
"Prepayment_Due_Date": "2022-05-02",
"Prepmt_Payment_Discount_Percent": 2,
"Prepmt_Pmt_Discount_Date": "2022-04-10",
"Prepmt_Include_Tax": false,
"Transit_to_Location": "",
"Transport_Operators": 0,
"Transit_from_Date_Time": "0001-01-01T00:00:00Z",
"Transit_Hours": 0,
"Transit_Distance": 0,
"Vehicle_Code": "",
"Trailer_1": "",
"Trailer_2": "",
"Control1310005": false,
"Insurer_Name": "",
"Insurer_Policy_Number": "",
"Medical_Insurer_Name": "",
"Medical_Ins_Policy_Number": "",
"SAT_Weight_Unit_Of_Measure": "",
"Date_Filter": "''..07/07/22",
"SalesOrderSalesLines": [
{
"Document_Type": "Order",
"Document_No": "",
"Line_No": 10000,
"Type": "Item",
"FilteredTypeField": "Item",
"No": "",
"Item_Reference_No": "",
"ShpfyOrderNo": "",
"IC_Partner_Code": "",
"IC_Partner_Ref_Type": " ",
"IC_Partner_Reference": "",
"IC_Item_Reference": "",
"Variant_Code": "",
"Substitution_Available": false,
"Purchasing_Code": "",
"Nonstock": false,
"VAT_Prod_Posting_Group": "",
"Description": "ATLANTA Whiteboard, base",
"Description_2": "",
"Drop_Shipment": false,
"Special_Order": false,
"Return_Reason_Code": "",
"Package_Tracking_No": "",
"Location_Code": "",
"Bin_Code": "",
"Control50": "Optional",
"Quantity": 12,
"Qty_to_Assemble_to_Order": 0,
"Reserved_Quantity": 0,
"Unit_of_Measure_Code": "PCS",
"Unit_of_Measure": "Piece",
"Unit_Cost_LCY": 1637.3,
"SalesPriceExist": false,
"Unit_Price": 2099.1,
"Tax_Liable": true,
"Tax_Area_Code": "MB",
"Tax_Group_Code": "TAXABLE",
"Line_Discount_Percent": 0,
"Line_Amount": 25189.2,
"Amount_Including_VAT": 28463.8,
"SalesLineDiscExists": false,
"Line_Discount_Amount": 0,
"Prepayment_Percent": 0,
"Prepmt_Line_Amount": 0,
"Prepmt_Amt_Inv": 0,
"Allow_Invoice_Disc": true,
"Inv_Discount_Amount": 0,
"Inv_Disc_Amount_to_Invoice": 0,
"Qty_to_Ship": 12,
"Quantity_Shipped": 0,
"Qty_to_Invoice": 12,
"Quantity_Invoiced": 0,
"Prepmt_Amt_to_Deduct": 0,
"Prepmt_Amt_Deducted": 0,
"Allow_Item_Charge_Assignment": true,
"Qty_to_Assign": 0,
"Qty_Assigned": 0,
"Requested_Delivery_Date": "2022-04-03",
"Promised_Delivery_Date": "0001-01-01",
"Planned_Delivery_Date": "2022-04-03",
"Planned_Shipment_Date": "2022-04-02",
"Shipment_Date": "2022-04-02",
"Shipping_Agent_Code": "FEDEX",
"Shipping_Agent_Service_Code": "NEXT DAY",
"Shipping_Time": "1D",
"Work_Type_Code": "",
"Whse_Outstanding_Qty": 0,
"Whse_Outstanding_Qty_Base": 0,
"ATO_Whse_Outstanding_Qty": 0,
"ATO_Whse_Outstd_Qty_Base": 0,
"Outbound_Whse_Handling_Time": "",
"Blanket_Order_No": "",
"Blanket_Order_Line_No": 0,
"FA_Posting_Date": "0001-01-01",
"Depr_until_FA_Posting_Date": false,
"Depreciation_Book_Code": "",
"Use_Duplication_List": false,
"Duplicate_in_Depreciation_Book": "",
"Appl_from_Item_Entry": 0,
"Appl_to_Item_Entry": 0,
"Deferral_Code": "",
"Shortcut_Dimension_1_Code": "SALES",
"Shortcut_Dimension_2_Code": "SMALL",
"ShortcutDimCode3": "",
"ShortcutDimCode4": "",
"ShortcutDimCode5": "",
"ShortcutDimCode6": "",
"ShortcutDimCode7": "",
"ShortcutDimCode8": "",
"Gross_Weight": 80.27,
"Net_Weight": 69.8,
"Unit_Volume": 0.31,
"Units_per_Parcel": 0,
"Retention_Attached_to_Line_No": 0,
"Retention_VAT_Percent": 0,
"Custom_Transit_Number": "",
"TotalSalesLine_Line_Amount": 0,
"Invoice_Discount_Amount": 0,
"Invoice_Disc_Pct": 0,
"Total_Amount_Excl_VAT": 0,
"Total_VAT_Amount": 0,
"Total_Amount_Incl_VAT": 0
}
]
}
The sales order is created, however, the created sales order has no lines. The response shows the same:
"SalesOrderSalesLines": [
If I change the case of the SalesOrderSalesLines property I receive a BadRequest response with a message of "Invalid Request Body CorrelationId: def102fb-5140-43ff-8c9d-47cb1d9363fe." So I think the property name and case for the lines collection are correct.
Does anybody have any ideas why the lines are not being created?
This guy had a similar issue:
Please do not link me to API v1.0 or v2.0 as I am aware they exist but I need to use OData calls.
Hi Ballu, I was unable to find a solution to this and no one has provided any useful resources. As far as my research goes, it is currently not possible to create a sales order with line items in 1 OData call, as for why...who knows please someone enlighten me. As a work around I have used the V2 API to create the header data and then use OData calls to add additional header data and the line Items, which now uses up to 3 calls... If you find out anything please let me know.
Hi Conor4C , Were you able to find the Solution for this and able to insert Header and Line data in a single call through OData ?
Hi,
I think you are using the standard api not the custom one, as JAngle mentioned the link
Kauffmann used the custom api page and how its working as he shown in the link, please follow that.
Hi, As far as I know, this is an old question, we can't do it with Odata, we can only use Soap and API, it is recommended to use API
Hope this helps.
Thanks.
ZHU
Thank you for replying so quickly however, this does not work. I continue to get "SalesOrderSalesLines": [.
This is how my URL looks: ODataV4/Company('CRONUS Canada, Inc.')/SalesOrder?$expand=SalesOrderSalesLines
and the POST body:
{ "Document_Type": "Order", "No": "", "Sell_to_Customer_No": "10000", "Sell_to_Customer_Name": "Adatum Corporation", "Quote_No": "", "Posting_Description": "Order S-ORD101001", "Sell_to_Address": "360 Main Street, Suite 1150", "Sell_to_Address_2": "", "Sell_to_City": "Winnipeg", "Sell_to_County": "MB", "Sell_to_Post_Code": "R3C 3Z3", "Sell_to_Country_Region_Code": "CA", "Sell_to_Contact_No": "CT000001", "Sell_to_Phone_No": "", "SellToMobilePhoneNo": "", "Sell_to_E_Mail": "robert.townes@contoso.com", "No_of_Archived_Versions": 0, "Document_Date": "2022-04-02", "Posting_Date": "2022-04-02", "Order_Date": "2022-04-02", "Due_Date": "2022-05-02", "Requested_Delivery_Date": "2022-04-03", "Promised_Delivery_Date": "0001-01-01", "External_Document_No": "", "Your_Reference": "OPEN", "ShpfyOrderNo": "", "ShpfyShopify_Risk_Level": " ", "Salesperson_Code": "JO", "Campaign_No": "", "Opportunity_No": "", "Responsibility_Center": "", "Assigned_User_ID": "CFORSEY", "Job_Queue_Status": " ", "CFDI_Purpose": "", "CFDI_Relation": "", "CFDI_Export_Code": "", "WorkDescription": "", "Currency_Code": "", "Company_Bank_Account_Code": "", "Prices_Including_VAT": false, "VAT_Bus_Posting_Group": "", "Payment_Terms_Code": "1M(8D)", "Payment_Method_Code": "", "EU_3_Party_Trade": false, "Tax_Liable": true, "Tax_Area_Code": "MB", "SelectedPayments": "No payment service is made available.", "Shortcut_Dimension_1_Code": "SALES", "Shortcut_Dimension_2_Code": "SMALL", "Payment_Discount_Percent": 2, "Pmt_Discount_Date": "2022-04-10", "Journal_Templ_Name": "", "Direct_Debit_Mandate_ID": "", "ShippingOptions": "Default (Sell-to Address)", "Ship_to_Code": "", "Ship_to_UPS_Zone": "", "Ship_to_Contact": "Robert Townes", "Shipment_Method_Code": "", "Shipping_Agent_Code": "FEDEX", "Shipping_Agent_Service_Code": "NEXT DAY", "Package_Tracking_No": "", "BillToOptions": "Default (Customer)", "BillToContactPhoneNo": "", "BillToContactMobilePhoneNo": "", "Location_Code": "", "Shipment_Date": "2022-06-02", "Shipping_Advice": "Partial", "Outbound_Whse_Handling_Time": "", "Shipping_Time": "1D", "Combine_Shipments": false, "Transaction_Specification": "", "Transaction_Type": "", "Transport_Method": "", "Exit_Point": "", "Area": "", "Language_Code": "ENC", "Prepayment_Percent": 0, "Compress_Prepayment": true, "Prepmt_Payment_Terms_Code": "1M(8D)", "Prepayment_Due_Date": "2022-05-02", "Prepmt_Payment_Discount_Percent": 2, "Prepmt_Pmt_Discount_Date": "2022-04-10", "Prepmt_Include_Tax": false, "Transit_to_Location": "", "Transport_Operators": 0, "Transit_from_Date_Time": "0001-01-01T00:00:00Z", "Transit_Hours": 0, "Transit_Distance": 0, "Vehicle_Code": "", "Trailer_1": "", "Trailer_2": "", "Control1310005": false, "Insurer_Name": "", "Insurer_Policy_Number": "", "Medical_Insurer_Name": "", "Medical_Ins_Policy_Number": "", "SAT_Weight_Unit_Of_Measure": "", "Date_Filter": "''..07/07/22", "SalesOrderSalesLines": [ { "Document_Type": "Order", "Document_No": "", "Line_No": 10000, "Type": "Item", "FilteredTypeField": "Item", "No": "", "Item_Reference_No": "", "ShpfyOrderNo": "", "IC_Partner_Code": "", "IC_Partner_Ref_Type": " ", "IC_Partner_Reference": "", "IC_Item_Reference": "", "Variant_Code": "", "Substitution_Available": false, "Purchasing_Code": "", "Nonstock": false, "VAT_Prod_Posting_Group": "", "Description": "ATLANTA Whiteboard, base", "Description_2": "", "Drop_Shipment": false, "Special_Order": false, "Return_Reason_Code": "", "Package_Tracking_No": "", "Location_Code": "", "Bin_Code": "", "Control50": "Optional", "Quantity": 12, "Qty_to_Assemble_to_Order": 0, "Reserved_Quantity": 0, "Unit_of_Measure_Code": "PCS", "Unit_of_Measure": "Piece", "Unit_Cost_LCY": 1637.3, "SalesPriceExist": false, "Unit_Price": 2099.1, "Tax_Liable": true, "Tax_Area_Code": "MB", "Tax_Group_Code": "TAXABLE", "Line_Discount_Percent": 0, "Line_Amount": 25189.2, "Amount_Including_VAT": 28463.8, "SalesLineDiscExists": false, "Line_Discount_Amount": 0, "Prepayment_Percent": 0, "Prepmt_Line_Amount": 0, "Prepmt_Amt_Inv": 0, "Allow_Invoice_Disc": true, "Inv_Discount_Amount": 0, "Inv_Disc_Amount_to_Invoice": 0, "Qty_to_Ship": 12, "Quantity_Shipped": 0, "Qty_to_Invoice": 12, "Quantity_Invoiced": 0, "Prepmt_Amt_to_Deduct": 0, "Prepmt_Amt_Deducted": 0, "Allow_Item_Charge_Assignment": true, "Qty_to_Assign": 0, "Qty_Assigned": 0, "Requested_Delivery_Date": "2022-12-12", "Promised_Delivery_Date": "2022-12-12", "Planned_Delivery_Date": "2022-12-12", "Planned_Shipment_Date": "2022-12-10", "Shipment_Date": "2022-12-10", "Shipping_Agent_Code": "FEDEX", "Shipping_Agent_Service_Code": "NEXT DAY", "Shipping_Time": "1D", "Work_Type_Code": "", "Whse_Outstanding_Qty": 0, "Whse_Outstanding_Qty_Base": 0, "ATO_Whse_Outstanding_Qty": 0, "ATO_Whse_Outstd_Qty_Base": 0, "Outbound_Whse_Handling_Time": "", "Blanket_Order_No": "", "Blanket_Order_Line_No": 0, "FA_Posting_Date": "0001-01-01", "Depr_until_FA_Posting_Date": false, "Depreciation_Book_Code": "", "Use_Duplication_List": false, "Duplicate_in_Depreciation_Book": "", "Appl_from_Item_Entry": 0, "Appl_to_Item_Entry": 0, "Deferral_Code": "", "Shortcut_Dimension_1_Code": "SALES", "Shortcut_Dimension_2_Code": "SMALL", "ShortcutDimCode3": "", "ShortcutDimCode4": "", "ShortcutDimCode5": "", "ShortcutDimCode6": "", "ShortcutDimCode7": "", "ShortcutDimCode8": "", "Gross_Weight": 80.27, "Net_Weight": 69.8, "Unit_Volume": 0.31, "Units_per_Parcel": 0, "Retention_Attached_to_Line_No": 0, "Retention_VAT_Percent": 0, "Custom_Transit_Number": "", "TotalSalesLine_Line_Amount": 0, "Invoice_Discount_Amount": 0, "Invoice_Disc_Pct": 0, "Total_Amount_Excl_VAT": 0, "Total_VAT_Amount": 0, "Total_Amount_Incl_VAT": 0 } ] }
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,151 Super User 2024 Season 2
Martin Dráb 229,963 Most Valuable Professional
nmaenpaa 101,156