Sales Tax for Batch Invoices Cont.

https://www.sagecity.com/us/sage100_erp/f/sage-100-unique-business-challenges-and-general-discussion/186156/sales-tax-for-batched-invoices

So this script finally showed its flaw, on the SO Invoice it would only display the first SO entered on the invoice instead of "multiple orders" in the "sales order number" field.  It pulls all the information from the applied sales orders, however, after you invoice the subsequent SO's they stay in Sage as an open order, looking like they never were invoiced.  I am going to have to find another way around to give the user the ability to change the sales tax schedule.  Looking at the file layouts the 42.tax schedule field under SO_Invoice header has this as a note

" MultipleSO Notes: {SO5$(394, 9)}", could anyone tell me the meaning of this?  Thinking I will have to figure out how to make this field editable, because ROI solution was not easy and unrealistic.

  • 0

    Can't you just ask ROI to never merge multiple SO into one invoice?

  • 0 in reply to Kevin M

    ROI doesn't merge the SO's, we select which SO's to merge.  We have a lot of small SO's that our customers sometimes prefer to go on one invoice.  ROI was trying to suggest a way to pass over no tax and have to report tax manually through outside reports.

  • 0

    Did some testing, I had a invoice with 2 SO's applied to it, sales tax schedule was greyed out "not editable", went in the DFDM and changed the "multipleappliedsalesorders" to "N".  This allowed the sales tax schedule field to become editable, went back to the invoice and changed the sales tax schedule to another value.  Went back into DFDM and changed the "multipleappliedsalesorders" back to "Y".  Sales tax schedule was greyed out again but kept the value that I changed it too, everything looks correct at this point.  The sales order no field on the invoice shows "multiple" and not just the first SO entered, all fields are back to original values except the tax schedule I changed.  After we post the invoice and run "daily sales reports/updates", the invoice just vanishes, no history of that invoice number in invoice history and nothing under the customer maintenance mod.  The SO's are still in SO Entry as well, looks like they were never invoiced. The appropriate GL accounts show the posted values though.  Any thoughts?

    My thinking was to keep my original script from the previous post and let the user change the sales tax schedule and then script the change back to the default.

  • 0 in reply to jland47

    Do not DFDM the values if that is causing data corruption.  Sage makes fields read-only for a reason, and bypassing their controls is asking for problems.

    Why not fix the tax schedule on the SO before invoicing?

  • 0 in reply to Kevin M

    Next test, I changed the sales tax schedule on 3 SO's and then batch invoiced them, the first SO is now in SO history but the other two are still in SO Entry files.  I also invoiced 2 orders using "our" regular business process and the second SO applied to the invoice is still in SO Entry.  Are there any extra steps needed when batch invoicing SO's?  What is the "Apply to Inv No." field for on the SO Invoice Data Entry panel?

  • 0 in reply to jland47

    That field is for credits, being applied to invoice balances.

    Read the help files / Sage KB article on the multi-SO-per-invoice feature. Done properly through the Sage UI (without any back-end data edits) everything works well.

    Check for other scripts that might be blocking the SO updates during posting.

  • 0 in reply to Kevin M

    Script tied to the SO Invoice header was the culprit.  Still curious to what this means in the file layouts " MultipleSO Notes: {SO5$(394, 9)}", could anyone tell me the meaning of this? 

    Updated: Changing tax schedule on SO would be to much manual updating.  Kept original script on a "table-pre-totals" event then set a "table-post-read" to return values back to normal Sage business function values.

    'change read only field back to default value for multiple SO invoice
    
    retVal = 0
    sMultipleSalesOrdersApplied = ""
    
    retVal = oBusObj.GetValue("MultipleSalesOrdersApplied$", sMultipleSalesOrdersApplied)
    
    if sMultipleSalesOrdersApplied = "N" then
    
    	retVal = oBusObj.SetValueNoValidate("MultipleSalesOrdersApplied$", "Y")
    	
    end if

    Will wait to see if there are any consequences down the road.