This topic contains 2 replies, has 0 voices, and was last updated by pcutler 7 years ago.

  • Author
    Posts
  • #24517

    JCirocco

    I know this is probably a long shot, but has anyone been able to do a CSV import to create invoices that link back to the Original Sales Order?

    I have a customer with a large number of Sales Orders available to Invoice AND they also use the Warranty and Registration Bundle. If they use the Bulk Invoice Sales Orders function, the Bundle throws an error so they must manually invoice each sales order. Currently they have 1200+ Sales orders to manually invoice. My questions are:

    1) Is there a way to temporarily help them by using CSV import that will still link the invoice back to a sales order AND work with the Warranty and Registration functions?

    2) Is there an alternative way to bulk invoice Sales Orders that will not fail because of the warranty and registration bundle?
    This is a cached copy. Click here to see the original post.

  • #24518

    Voltron

    I have a "super-tech" at NetSuite claiming this is possible. I've skeptically tried various scenarios using his guidance, but nothing seems to be working. His base suggestion is to import to invoice and have a BeforeSubmit script that sets the "createdfrom" field to the desired sales order. In my experience, "createdfrom" appears scriptable, but is really not.

    Some of the options available, though I'm not familiar with the referenced bundle and its requirements:

    1. import to the existing sales orders and have a script running that uses nlapiTransformRecord. It would actually be a simple script with just a few lines of code unless there are some nuances I don't know in your scenario

    2. use web services to "import" because you CAN set <createdfrom> when creating the invoices

  • #24519

    pcutler

    The first thing I'd investigate is whether the error using the bulk invoicing feature can be resolved.

    If not, then I'd look at a simple mass update script like this and run it as a custom mass update:

    Code:
    function billSalesOrder(type, id) {
    try {
    // invoice sales order
    var inv = nlapiTransformRecord(type, id, 'invoice');
    var invId = nlapiSubmitRecord(inv, true, true);
    }
    catch(err) {
    // log error
    nlapiLogExecution('Error billing sales order internal ID #' + id, err);
    }
    }
    While you could use a CSV import, the CSV import wizard is clunky and I'd hate to have to repeat that process over and over when better options are available.

You must be logged in to reply to this topic.