Error Code 19 Using EliOrderService.asmx CreateOrder() Method

Error Code 19 Using EliOrderService.asmx CreateOrder() Method

Release Date: 10/07/2023
Version: 8.x & Up

A developer received Error Code 19 when using the Elliott web services EliOrderService.asmx CreateOrder() method.  The EliOrderService.asm document details can be found in this KB article:
At the end of this document, you can find a list of error codes. According to this document, error code 19 means:
    19 = Fail To Apply A/R Open Item

To be more specific, this means payment information was provided in the header area when using the CreateOrder() method. The payment-related information involved the following fields:
  • ORDER_CHECK_NO
  • ORDER_CHECK_DATE
  • ORDER_PAYMENT_AMOUNT
  • ORDER_PAYMENT_TP
When some of these fields are provided, it implies the caller wishes to apply the payments in the A/R open item table to this order that was just created.  If we can't find it, then the Error 19 is returned.

The following is the information the developer passed to the CreateOrder() method:

<SOAP-ENV:Envelope
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:ns1="http://webservices.elliott.com/eliorderservice.asmx">
   <SOAP-ENV:Body>
      <ns1:CreateOrder>
          <ns1:CreateOrderInput>
              <ns1:ORDER_DATE_ENTERED>2023-10-06T08:35:02</ns1:ORDER_DATE_ENTERED>
              <ns1:ORDER_DATE>2023-10-06T08:35:02</ns1:ORDER_DATE>
              <ns1:ORDER_CUSTOMER_NO>130008</ns1:ORDER_CUSTOMER_NO>
              <ns1:ORDER_SHIPPING_DATE>2023-10-06T08:35:02</ns1:ORDER_SHIPPING_DATE>
              <ns1:ORDER_SLS_PCT_COMM_1>0</ns1:ORDER_SLS_PCT_COMM_1>
              <ns1:ORDER_SLS_COMM_AMT_1>0</ns1:ORDER_SLS_COMM_AMT_1>
              <ns1:ORDER_SLS_PCT_COMM_2>0</ns1:ORDER_SLS_PCT_COMM_2>
              <ns1:ORDER_SLS_COMM_AMT_2>0</ns1:ORDER_SLS_COMM_AMT_2>
              <ns1:ORDER_SLS_PCT_COMM_3>0</ns1:ORDER_SLS_PCT_COMM_3>
              <ns1:ORDER_SLS_COMM_AMT_3>0</ns1:ORDER_SLS_COMM_AMT_3>
              <ns1:ORDER_TAX_CODE_1>NO</ns1:ORDER_TAX_CODE_1>
              <ns1:ORDER_TAX_PERCENT_1>0</ns1:ORDER_TAX_PERCENT_1>
              <ns1:ORDER_TAX_PERCENT_2>0</ns1:ORDER_TAX_PERCENT_2>
              <ns1:ORDER_TAX_PERCENT_3>0</ns1:ORDER_TAX_PERCENT_3>
              <ns1:ORDER_DISC_PERCENT>0</ns1:ORDER_DISC_PERCENT>
              <ns1:ORDER_TOTAL_SALE_AMT>0</ns1:ORDER_TOTAL_SALE_AMT>
              <ns1:ORDER_TOTL_TAXBL_AMT>0</ns1:ORDER_TOTL_TAXBL_AMT>
              <ns1:ORDER_TOTAL_COST>15</ns1:ORDER_TOTAL_COST>
              <ns1:ORDER_TOTAL_WEIGHT>0</ns1:ORDER_TOTAL_WEIGHT>
              <ns1:ORDER_MISC_CHRG_AMT>0</ns1:ORDER_MISC_CHRG_AMT>
              <ns1:ORD_FREIGHT_AMOUNT>0</ns1:ORD_FREIGHT_AMOUNT>
              <ns1:ORD_SALES_TAX_AMT_1>0</ns1:ORD_SALES_TAX_AMT_1>
              <ns1:ORD_SALES_TAX_AMT_2>0</ns1:ORD_SALES_TAX_AMT_2>
              <ns1:ORD_SALES_TAX_AMT_3>0</ns1:ORD_SALES_TAX_AMT_3>
              <ns1:ORDER_COMM_PERCENT>0</ns1:ORDER_COMM_PERCENT>
              <ns1:ORDER_COMM_AMOUNT>0</ns1:ORDER_COMM_AMOUNT>
              <ns1:ORDER_COMMENT1>PreA **1111       15 TX12345678901</ns1:ORDER_COMMENT1>
              <ns1:ORDER_COMMENT2>AVS OK: Address and 5-digit Zip code match</ns1:ORDER_COMMENT2>
              <ns1:ORDER_PAYMENT_AMOUNT>0</ns1:ORDER_PAYMENT_AMOUNT>
              <ns1:ORDER_PAYMNT_DIS_AMT>0</ns1:ORDER_PAYMNT_DIS_AMT>
              <ns1:ORDER_CHECK_DATE>2023-10-06T08:35:02</ns1:ORDER_CHECK_DATE>
              <ns1:ORDER_DATE_PICKED>2023-10-06T08:35:02</ns1:ORDER_DATE_PICKED>
              <ns1:ORDER_DATE_BILLED>2023-10-06T08:35:02</ns1:ORDER_DATE_BILLED>
              <ns1:ORDER_INVOICE_DATE>2023-10-06T08:35:02</ns1:ORDER_INVOICE_DATE>
              <ns1:ORDER_POSTED_DATE>2023-10-06T08:35:02</ns1:ORDER_POSTED_DATE>
              <ns1:ORDER_ACC_MISC_AMT>0</ns1:ORDER_ACC_MISC_AMT>
              <ns1:ORDER_ACC_FREIGHT>0</ns1:ORDER_ACC_FREIGHT>
              <ns1:ORDER_ACC_TOT_TAXBLE>0</ns1:ORDER_ACC_TOT_TAXBLE>
              <ns1:ORDER_ACC_SALES_TAX>0</ns1:ORDER_ACC_SALES_TAX>
              <ns1:ORDER_ACC_TOT_SALES>0</ns1:ORDER_ACC_TOT_SALES>
              <ns1:ORDER_SHIP_ACK_DATE>2023-10-06T08:35:02</ns1:ORDER_SHIP_ACK_DATE>
              <ns1:ORDER_PICK_TICK_CUT>2023-10-06T08:35:02</ns1:ORDER_PICK_TICK_CUT>
              <ns1:OrderTimeRelease>2023-10-06T08:35:02</ns1:OrderTimeRelease>
              <ns1:LineItem>
                  <ns1:LineItem>
                      <ns1:LINE_ITM_SEQ_NO>0</ns1:LINE_ITM_SEQ_NO>
                      <ns1:LINE_ITM_ITEM_NO>45MMJ</ns1:LINE_ITM_ITEM_NO>
                      <ns1:LINE_ITM_SER_EFF_DT>2023-10-06T08:35:02</ns1:LINE_ITM_SER_EFF_DT>
                      <ns1:LINE_ITM_LOT_EXP_DT>2023-10-06T08:35:02</ns1:LINE_ITM_LOT_EXP_DT>
                      <ns1:LINE_ITM_QTY_ORDRD>1</ns1:LINE_ITM_QTY_ORDRD>
                      <ns1:LINE_ITM_QTY_TO_SHIP>0</ns1:LINE_ITM_QTY_TO_SHIP>
                      <ns1:LINE_ITM_UNIT_PRICE>0</ns1:LINE_ITM_UNIT_PRICE>
                      <ns1:LINE_ITM_DISC_PCT>0</ns1:LINE_ITM_DISC_PCT>
                      <ns1:LINE_ITM_REQST_DATE>2023-10-06T08:35:02</ns1:LINE_ITM_REQST_DATE>
                      <ns1:LINE_ITM_QTY_BCK_ORD>0</ns1:LINE_ITM_QTY_BCK_ORD>
                      <ns1:LINE_QTY_RET_TO_STCK>0</ns1:LINE_QTY_RET_TO_STCK>
                      <ns1:LINE_ITM_UNIT_COST>0</ns1:LINE_ITM_UNIT_COST>
                      <ns1:LINE_ITM_UNIT_WEIGHT>0</ns1:LINE_ITM_UNIT_WEIGHT>
                      <ns1:LINE_COMM_PCT_OR_AMT>0</ns1:LINE_COMM_PCT_OR_AMT>
                      <ns1:LINE_ITM_PROMISE_DT>2023-10-06T08:35:02</ns1:LINE_ITM_PROMISE_DT>
                      <ns1:LINE_TOTAL_QTY_ORDRD>0</ns1:LINE_TOTAL_QTY_ORDRD>
                      <ns1:LINE_TOTAL_QTY_SHIPD>0</ns1:LINE_TOTAL_QTY_SHIPD>
                      <ns1:LINE_ITM_PRICE_ORG>0</ns1:LINE_ITM_PRICE_ORG>
                      <ns1:LINE_ITM_NO_PACKAGE>0</ns1:LINE_ITM_NO_PACKAGE>
                      <ns1:LINE_ITM_PO_XR_SEQNO>0</ns1:LINE_ITM_PO_XR_SEQNO>
                      <ns1:LINE_ITM_PRC_LVL_NO>0</ns1:LINE_ITM_PRC_LVL_NO>
                      <ns1:LINE_ITM_BKT_SEQ_NO>0</ns1:LINE_ITM_BKT_SEQ_NO>
                      <ns1:IMHLTFIL_TRX_ID>0</ns1:IMHLTFIL_TRX_ID>
                      <ns1:DisplayUnitPrice>0</ns1:DisplayUnitPrice>
                  </ns1:LineItem>
              </ns1:LineItem>
              <ns1:ContactID>0</ns1:ContactID>
              <ns1:DisplayFreight>0</ns1:DisplayFreight>
              <ns1:DisplayTax>0</ns1:DisplayTax>
              <ns1:DisplayMisc>0</ns1:DisplayMisc>
              <ns1:DisplayAmtPaid>0</ns1:DisplayAmtPaid>
              <ns1:DisplayTaxPercent1>0</ns1:DisplayTaxPercent1>
              <ns1:DisplayTaxPercent2>0</ns1:DisplayTaxPercent2>
              <ns1:DisplayTaxPercent3>0</ns1:DisplayTaxPercent3>
              <ns1:SendConfirmationEmail>N</ns1:SendConfirmationEmail>
              <ns1:OrderTimeReleaseNew>0</ns1:OrderTimeReleaseNew>
          </ns1:CreateOrderInput>
      </ns1:CreateOrder>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

We noticed the <ns1:ORDER_CHECK_DATE>2023-10-06T08:35:02</ns1:ORDER_CHECK_DATE> is passed. We asked the developer not to pass. However, the developer claims they are passing a null value and yet still received the Error 19.

Upon further investigation, we found the following ORDER_CHECK_DATE was passed: 1969-12-31T17:00:00-07:00 (the local time that corresponds to UTC time 1970-01-01). This is due to the fact that  the language the developer used treats 1970-01-01 (UNIX time) as the default /empty date.

The core of the the issue is how Nullable types are represented in xml vs different languages. Elliott web services was written in VB.NET, at a time when the platform didn't have actual Nullable types in .NET. DateTime default values are 0001-01-01T:00:00:00-00:00. Most of Elliott web services callers are .NET apps. The auto-generated client hides these details. 

In summary, for a language that's not written in .NET that needs to call Elliott web services, if a developer needs to pass a null date value, he/she should pass the value  0001-01-01T:00:00:00-00:00. On the other hand, for .NET applications, the developer can simply pass null and .NET will hide the details from the  developer.


EMK

    • Related Articles

    • EliOrderService

      EliOrderService.asmx This web service provides the methods to create/modify/delete a customer sales order. To create an order, the minimum requirement is to provide the customer number, item number, and quantity for the order. For the remaining ...
    • Feature - Zone Breakdown Method by Freight Pay Code and State

      'Release Date: 4/4/18 This feature allows the user to set up a zone breakdown method by freight pay code and state. An example of where this new method can be used is the case where Global Setup -> Cop-Func -> Order Header Screen -> “22. Does Frt ...
    • Received Return Status Code 3 When Using Elilogin Login Method

      Q - When trying to use the EliloginService Login Method when another user is in Password Setup in Elliott, I receive a return status of 3 (Passwords Turned Off). Why? A - This is happening because the Login Method is attempting to read the System ...
    • Report Desk: Using PDF PostOffice

      Release Date: 9/21/2021 Version: 8.6 and Higher Background PDF PostOffice is a feature that allows Elliott users to email selected documents (like Invoices, Statements, Quotes, etc.) directly to the customer as they are produced. PDF PostOffice has ...
    • Using UTF-8 Encoding Method to Save CSV File Can Cause Import Error

      Release Date: 09/08/2025 Version: 7.x & Up Q - I am running a Cash Receipt Import on the latest 8.6 version and received an error on the check number. See sample screen below: Could you duplicate on your side with my attached CSV file (just change ...