fulfilling a sales order with non-inventory charge...
# ask-stanley-ai
s
fulfilling a sales order with non-inventory charges
c
AI generated answer (using internal Slack threads):
Based on the conversations, fulfilling a sales order with non-inventory charges can be achieved in a few ways: 1. You can create a sales order and then "invoice in advance of fulfillment". After that, you can close the sales order. This way, there will be no inventory hit on Invoice/Cash Sale. 2. Another approach is to use a non-inventory item for the sales order. If you invoice in advance of fulfillment with an inventory item, it'll count inventory. So, using a service item or a non-inventory item is recommended. 3. For non-inventory (dropship) items, you can fulfill them off a purchase order using SuiteScript. However, you need to ensure that the items are fulfillable. This can be done by checking the boxes on the item record that allow the item to be fulfilled. This has to be set at item creation and is unchangeable once the item is transacted on. 4. When transforming the sales order to an item fulfillment, you need to set the
receive
checkbox to true for the lines you want to fulfill. This can be done using SuiteScript. Here is a sample code snippet:
Copy code
javascript
require(["N/record"], function(record) {
  var ifRec = record.transform({
    fromType: "salesorder",
    fromId: "624",
    toType: "itemfulfillment"
  });
  ifRec.setSublistValue({
    fieldId: "itemreceive",
    sublistId: "item",
    value: true,
    line: 0
  });
  ifRec.save();
});
5. If you are dealing with kit items where the top-level kit item is not drop shippable, but the child items are, you can use the "mark shipped" button on the PO in the UI. The UI will create the proper fulfillment off the PO with only the child items on it. However, in SuiteScript, you can only transform the SO, and when you do it only transforms the top-level kit item. ****** Disclaimer: This response was generated by an artificial intelligence assistant based on previous conversations from multiple Slack channels, and may contain inaccuracies or mistakes. ******
Slack thread 1: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.822529197
Slack thread 2: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.817592382
Slack thread 3: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.812638044
Please provide your feedback on this answer.