Skip to content

ElicshtxService

 This web service provides methods related to cash receipt transactions, including:

  • ViewOpenItems
  • AddCashTrx
  • ViewCashTrx
  • DeleteCashTrx

ViewOpenItems

This method returns a customer’s open items, including Invoices, Payments, Credit Memos, Debit Memos and Financial Charges. This is similar to Elliott “Customer Account Inquiry” or “Customer Account Summary Inquiry.” One additional feature this method provides is the option to show Pending Cash Receipt.

The current implementation can return up to 2,000 rows of an A/R open item table. If you have any customer that has over 2,000 rows in an A/R open item table, then you should consider one or both of the following strategies:

1.        Do not return the fully paid A/R Open Item Records.

2.        Purge Fully Paid A/R Open Item Records.

Usage:

ViewOpenItemsResult = A.ViewOpenItems(UserName, UserPassword, ViewOpenItemsInput)

Parameters UserID and Password are not used at this moment.

ViewOpenItemsInput Structure

Property Name

Length

Type

Upper

Detail

CustomerNo

6

String

 

Required. This is the customer number to view open items.

IncludeFullyPaidItems

1

String

Y

“Y” or “N” (Default). If this field is “Y,” this method will include fully paid items in the returned record.

IncludePendingCashReceipts

1

String

Y

“Y” or “N” (Default). If this field is “Y,” this method will include on-hold ACH accounts in the returned record.

IncludeHistory

1

String

Y

“Y” or “N” (Default). If this field is “Y,” this method will include records from the A/R History File that have a document date on or after the CutOffDate in the returned record.

CutOffDate

8

Date

 

If not supplied, the field will default to 3 years from the current system date. Note the CutOffDate refers to the invoice cutoff date, not the payment cutoff date. This cutoff date applies to the the data in the A/R Open Item File as well as the A/R History File.

* Upper = Y indicates the value of the property will be converted to uppercase.

 

ViewOpenItemsResult Structure

Property

Type

Detail

ReturnCode

Integer

Zero means OK. For other return codes, please refer to the  “Return Code” section.

ReturnMsg

String

This is the explaination of return code.

ArApplyTo()

ArApplyToSumRecord

These are the records in AROPNFIL for the corresponding customer, in the Apply-To summary format. If IncludePendingCashReceipts is set to “Y,” then the information in ARCSHTRX and ARCSHAPL will be merged into this array. The array is displayed by the Apply-To sequence.  As a result, the open payments/credits (0 apply to) will be displayed first, including ARCSHTRX with no apply-to record. The 0 apply to will be displayed individually without being consolidated.

 

ArApplyToSumRecord Structure

Property

Type

Detail

ArApplyToDocDate

Date

Document date

ArApplyToDocNo

Prior to V8.5: Integer

V8.5 and Above: String

Document number

ArApplyToDocType

String

“P”: Payment

“C”: Credit

“D”: Debit

“I”: Invoice

“F”: Finance Charge

“B”: Balance Forward

ArApplyToApplyToNo

Prior to V8.5: Integer

V8.5 and Above: String

If zeroes, then this is either the open payment or credit on the account. 

ArApplyToDocDueDate

Date

 

ArApplyToReference

String

 

ArApplyToAmount1

Double

For invoice type record, amount1 is the sales amount. For payment type record, it is the received payment amount.

ArApplyToAmount2

Double

For invoice type record, amount2 is the freight, misc. charges and sales tax.  For payment type record, it is the discount or allowance amount.

ArApplyToTotalAmount

Double

Generally speaking, this is the invoice record’s amount1 + amount2

ArApplyToPaymentAmount

Double

This amount includes all payments of this apply-to.

ArApplyToAdjustAmount

Double

This amount includes all credit, debit memo, and finance charge of this apply-to.

ArApplyToBalance

Double

This field = TotalAmount + PaymentAmount + AdjustmentAmount. (since PaymentAmount is expressed in negative value).

ArApplyToAge

Integer

Number of days past due.  This value can be negative, which means the invoice is paid before due date.  Please refer to A/R Account Summary Inquiry for more examples.

ArApplyToPaymentPending

String

This value can be “Y,” “N” or blank.

If ShowPendingCashReceipt is set to “Y,” then this value is either “Y” or “N.” “Y” means there’s pending payment in A/R Cash Receipt for this apply-to. Vice versa for “N.”

If ShowPendingCashReceipt is set to “N," then the value will be blank since we do not check whether pending payments exist.

ARApplyToOpenItems()

ARApplyToOpenItem

This array contains the detail records of the apply-to.  For example, if an apply-to consists of one invoice, one credit memo and one payment, then the invoice record will be displayed in the ARApplyTo().  All three records, including the invoice, credit memo and payment will be displayed in ARApplyToOpenItem().

 

ARApplyToOpenItem Structure

Property

Type

Detail

ArOpenDocDate

Date

Document date

ArOpenDocNo

Prior to V8.5: Integer

V8.5 and Above: String

Document number

ArOpenDocType

String

See “ArApplyToSumRecord Structure” for detail.

ArOpenApplyToNo

Prior to V8.5: Integer

V8.5 and Above: String

Apply-to number

ArOpenDocDueDate

Date

Document due date

ArOpenReference

String

Reference

ArOpenAmount1

Double

Amount 1

ArOpenAmount2

Double

Amount 2

ArOpenApplyAmount

Double

Apply amount

ArOpenTermsCode

String

Terms code

ArOpenSalesmanNo

String

Salesman number

ArOpenOrigInvoiceNo

String

Original invoice number for charge back

ArOpenReasonCode

String

Reason code for charge back

ArOpenPaymentType

String

Payment type can be: CK=Check, CS=Cash, GC=Gift Cert., CC=Credit Card, WR=Wired, AC=ACH.

ArOpenACHTrxNo

Integer

ACH transaction number

ArOpenFiller

String

Normally this field is blank

AROpenPaymentPending

String

If this is a pending cash receipt, this flag will be “Y'; otherwise this flag will be “N”

AROpenPaymentBatchID

String

If this is a pending cash receipt, this field will contain the batch ID for the cash transaction; otherwise this field will be blank.  A batchID in the format of YYYYMMDD implies a scheduled ACH payment.  For example, batchID 20160630 means this ACH payment will be posted on 6/30/2016.

 

Code Example (VB)

The following sample codes return open item summary for customer “000044,” including pending cash payments and excluding fully paid items.

 

Dim Service As New webServicesCash.ElicshtxService

Dim Input As New webServicesCash.ViewOpenItemsInput

Dim Result As New webServicesCash.ViewOpenItemsResult

Input.CustomerNo = “000044”

Input.IncludePendingCashReceipts = “Y”

Result = Service.ViewOpenItems(“”, “”, Input)

If Result.ReturnCode = 0

  If Result.ArApplyTo IsNot Nothing AndAlso _

      Result.ArApplyTo.Count > 0 Then

      lblResult.Text = “The first open item’s apply-to number is: ” + _

                      Result.ArApplyTo(0).ArApplyToApplyToNo.ToString

   Else

      lblResult.Text = “No open items for this customer.”

  End If

Else

  lblResult.Text = “Error Code: ” + Result.ReturnCode.ToString + _

                    “ . Message: ” + Result.ReturnMsg

End If

AddCashTrx

This method creates one or more pending cash receipts. If this is a web application, you can use this method to allow your users to schedule ACH payments.

Transaction Consolidation
Cash Receipts for ACH may result in duplicate check number. This can happen because ACH check number by default = (Last 4 digits of Check Account Number) + (Last 2 digits of Total ACH payments + 1). For example, a check account ending with ***5720, that has processed 69 payments so far, the next check number assigned will be 572070.  Web services will consolidate duplicate check number for the same receipt date is already on file in the Cash Transaction table (ARCSHTRX).

  • For example, if customer 000001 pays $100.00 on invoice# 123456 on 12/14/20. The check number is sequentially assigned as 572070.
  • Customer 000001 pays $200.00 on invoice 123457 and it is scheduled for 12/31/20. The check number is sequentially assigned as 572070 again because the previous cash receipt had not been posted yet. But that is acceptable because the receipt date is 12/31/20. No consolidation will take place.
  • On the other hand, if customer 0000001 pays $300.00 on invoice 123458 on 12/14/20. If the previous cash transaction was not posted yet, then the check number is sequentially assigned as 572070. This transaction will be consolidated with the previous payment record on 12/14/20 make it total $400 because they fall on the same date.

If you do not want to consolidate the duplicate ACH check numbers, you can set the value of the key  AddCashTrxConsolidateDupCheckNo in the ElliottService.custom.config  to N. The default value is Y.

    <!-- ElicshtxService CONFIGURATION -->
    <!-- Specifies if ACH duplicate service will consolidate duplicate cash transactions -->
    <add key="AddCashTrxConsolidateDupCheckNo" value="Y"/>

Usage:

AddCashTrxResult = A.AddCashTrx(UserName, UserPassword, AddCashTrxInput)

Parameters UserID and Password are not used at this moment.

 

AddCashTrxInput Structure

Property Name

Length

Type

Detail

CashTrx()

6

CashTrxForAdd

Each element in the array creates one pending cash receipt.

 

CashTrxForAdd Structure

Property Name

Length

Type

Detail

CashAccountNo

24

String

24-digit cash account number. If this is not provided, it will default to the default cash account number in Elliott A/R Setup.

BatchID

8

String

Blank BatchID is allowed. If BatchID is provided, this could be a new batch id, or an existing one.  If it is an existing one, the PaymentType must match. We suggest you adopt a convention for Batch ID.  For example, you can use the Payment Type + YYMMDD.  In that case, if this is an ACH batch for 08/19/2015.  The Batch ID will be AC150819.  To schedule an ACH payment in the future, specify the BatchID in YYYYMMDD format.  For example, a BatchID of 20160630 means the ACH payment in this batch will be posted on or after 6/30/2016.

PaymentType

2

String

Default to “CK” if not provided.

CK=Check, CS=Cash, GC=Gift Cert., CC=Credit Card, WR=Wired, AC=ACH.

CustomerNo

6

String

Required.

CheckNo

6

Prior to V8.5: Integer

V8.5 and Above: String

For ACH payment type, do not pass anything to this field. The system will automatically make this field value something like XXXX99, where XXXX is the last 4 digits of the bank account number and 99 is the sequentially incremented transaction number for the bank account.

ReceiptDate

8

Integer

Default to system date.

ReceiptAmount

7.2

Double

Normally, this value should be greater than zero. However, a negative cash receipt is also supported.

CreditARFlag

1

String

“Y” (Default) or “N.”

CreditAccountNo

24

String

You will be required to provide a valid account if CreditARFlag is set to “N.”

CashACHAcctKey

32

String

This field is required for ACH payment type. This is the ACH Account selected for this cash transaction. You can find a list of ACH accounts for the customer by using the ViewACHAccts method in EliarachService web service.

CashACHReference

30

String

This field is only valid for ACH payment type. As an example, this value can be “AUTHORIZED BY JOE” or “CHECK# 1234.” Depending on Elliott's Global Setup, this field may be required.

AutoApply

1

String

Default “Y” and the CashReceiptApplyTo() will be ignored. This is the case when you let users pay a certain amount and the system automatically applies the outstanding invoice sequentially. If you wish to determine the specific invoice(s) to be paid off, you will set this flag to “N” and provide CashReceiptApplyTo() info.

CashReceiptApplyTo()

 

CashReceiptApplyToForAdd

The elements in this array will only be used if you set AutoApply to “N.” The total AmountApplied must equal the ReceiptAmount. Otherwise, you will get error code 19.

 

CashReceiptApplyToForAdd Structure

Property Name

Length

Type

Detail

ApplyToNo

6

Prior to V8.5: Integer

V8.5 and Above: String

The 6 digits apply to must not be fully paid yet. It is possible the ApplyToNo may not exist if (1) Elliott Global Setup allows; or (2) ApplyToAmountApplied is negative, which will result in creating a debit memo (charge back handling.)

ApplyToAmountApplied

7.2

Double

The amount can not cause the apply-to (i.e., the invoice or debit memo number) to become over paid. You will get error code 14 if over paid.

ApplyToDiscAmount

6.2

Double

This amount will go to A/R Open Item Amount2.

ApplyToAllowAmount

6.2

Double

This amount will go to A/R Open Item Amount2.

ApplyToAllowAcctNo

24

String

If ApplyToAllowAmount is not zero, you can provide the account number here, or leave it blank to use the default allowance account in A/R Setup.

ApplyToReference

30

String

If not provided, this method will create a default value by the following logic.

If payment type is “AC,” and CashACHReference is not empty, it will use the value in CashACHReference. Otherwise it will create a sentence such as “Cust#123456  Check# 123456”

ApplyToOrigInvNo

6

String

This field is only applicable for charge-back situations (i.e., apply-to does not exist, and AmountApplied < zero).

ApplyToReasonCode

3

String

This field is only applicable for charge-back situations.

 

AddCashTrxResult Structure

Property

Type

Detail

ReturnCode

Integer

Zero means OK. For other return codes, please refer to “Return Code” section.

ReturnMsg

String

This is the explaination of return code.

 

Code Example (VB)

The following sample codes create one pending ACH payment of 1,000.00 for customer 123456 and lets the system automatically apply the payment to outstanding invoices sequentially.

 

Dim Service As New webServicesCash.ElicshtxService

Dim Input As New webServicesCash.AddCashTrxInput

Dim Result As New webServicesCash.AddCashTrxResult

Redim Input.CashTrx(0)

Input.CashTrx(0) = New webServicesCash.CashTrxForAdd

Input.CashTrx(0).BatchID = “AC150915”

Input.CashTrx(0).PaymentType = “AC”

Input.CashTrx(0).CustomerNo = “123456”

Input.CashTrx(0).CashACHReference = "AUTHORIZED BY JOE" Input.CashTrx(0).ReceiptAmount = 1000

Input.CashTrx(0).CashACHAcctKey = “ARCUSFIL1234560001201412280812”

Result = Service.AddCashTrx(“”, “”, Input)

If Result.ReturnCode = 0 Then

  lblResult.Text = “Cash Receipt Created.”

Else

  lblResult.Text = “Error Code: ” + Result.ReturnCode.ToString + _

                    “ . Message: ” + Result.ReturnMsg

End If

ViewCashTrx

This method returns a customer’s pending cash receipts in the A/R Cash Receipt Trx File.

Usage:

ViewCashTrxResult = A.ViewCashTrx(UserName, UserPassword, ViewCashTrxInput)

Parameters UserID and Password are not used at this moment.

 

ViewCashTrxInput Structure

Property Name

Length

Type

Detail

CustomerNo

6

String

Required. This is the customer number to view pending cash receipts.

 

ViewCashTrxResult Structure

Property

Type

Detail

ReturnCode

Integer

Zero means OK. For other return codes, please refer to “Return Code” section.

ReturnMsg

String

This is the explaination of return code.

CashTrxDataSet

DataSet

This data set includes two data tables, ARCSHTRX and ARCSHAPL. For fields of each data set, please see the following sections.

 

Fields in ARCSHTRX Data Table

Property

Length

Type

Detail

CSH_CUS_NO

6

String

Customer no.

CSH_CK_NO

6

Prior to V8.5: Integer

V8.5 and Above: String

Check no.

CSH_TIME_STAMP

6

Integer

Time stamp

CSH_RCPT_DATE

8

Integer

Receipt Date

CSH_AMT_RECD

7.2

Double

Amount received

CSH_CR_AR_FG

1

String

Credit AR Flag

CSH_CR_ACCT_NO

24

String

Credit account no.

CSH_CUS_NAME

30

String

Customer name

CSH_CUS_BAL_METH

1

String

Customer balance method

CSH_TM_CD

2

String

Terms code

CSH_TM_CD_DESC

15

String

Terms code description

CSH_TM_CD_DSC_DAYS

3

Integer

Terms code discount days

CSH_TM_CD_DSC_PCT

2.2

Double

Terms code discount percent

CSH_ACCT_NO

24

String

Cash account no.

CSH_BATCH_ID

8

String

Batch ID

CSH_PMT_TYPE

2

String

Payment type can be: CK=Check, CS=Cash, GC=Gift Cert., CC=Credit Card, WR=Wired, AC=ACH.

CSH_ACH_FILE_NAME

8

String

ACH account file name. Could be “ARCUSFIL” for customer or “CPSHPFIL” for ship-to.

CSH_ACH_CUST_NO

6

String

ACH account customer no.

CSH_ACH_SHIP_TO

4

String

ACH account ship-to no.

CSH_ACH_CR_DATE

8

Integer

ACH account create date

CSH_ACH_CR_TIME

6

Integer

ACH account create time

CSH_ACH_REFERENCE

30

String

ACH reference for this cash transaction

ARCSHTRX_FILLER_0001

28

String

This field should be blank.

 

Fields in ARCSHAPL Data Table

Property

Length

Type

Detail

CSH_APL_CUS_NO

6

String

Customer no.

CSH_APL_CK_NO

6

Prior to V8.5: Integer

V8.5 and Above: String

Check no.

CSH_APL_TIME_STAMP

6

Integer

Time stamp

CSH_APL_APPLY_TO

6

Prior to V8.5: Integer

V8.5 and Above: String

Apply-to no.

CSH_APL_OPEN_CR_FG

1

String

Open credit flag. “C” indicates this is an open credit.

CSH_APL_AMT_APPLIED

7.2

Double

Amount applied

CSH_APL_DSC_AMT

6.2

Double

Discount amount

CSH_APL_ALLOW_AMT

6.2

Double

Allowance amount

CSH_APL_TM_CD

2

String

Terms code

CSH_APL_TM_CD_DESC

15

String

Terms code description

CSH_APL_TM_CD_DSC_DA

3

Integer

Terms code discount days

CSH_APL_TM_CD_DSC_PC

2.2

Double

Terms code discount percent

ALLOW_ACCT_NO

24

String

Allowance account no.

CSH_APL_REF

30

String

Reference of this cash application.

CSH_APL_ORIG_INV_NO

6

String

Original invoice number. This field is only applicable for charge-back situations (i.e., Apply-to does not exist, and AmountApplied < zero.)

CSH_APL_REASON_CD

3

String

Reason Code. This field is only applicable for charge-back situations.

CSH_APL_FILLER

91

String

This field should be blank.

 

Code Example (VB)

The following sample codes return a pending cash receipt for customer “000044.”

 

Dim Service As New webServicesCash.ElicshtxService

Dim Input As New webServicesCash.ViewCashTrxInput

Dim Result As New webServicesCash.ViewCashTrxResult

Input.CustomerNo = “000044”

Result = Service.ViewCashTrx(“”, “”, Input)

If Result.CashTrxDataSet IsNot Nothing AndAlso _

  Result.CashTrxDataSet.Tables("ARCSHTRX").Rows.Count > 0 Then

    ResultTable1 = Result.CashTrxDataSet.Tables("ARCSHTRX")

   lblResult.Text = "The first check number is: " + _

    ResultTable1.Rows(0).Item("CSH_CK_NO").ToString

Else

    lblResult.Text = "No record found"

End If

DeleteCashTrx

This method deletes one pending cash receipt.  For example, you may use this method if the user decides to cancel a scheduled ACH payment in the A/R Cash Receipt Trx File.

Usage:

DeleteCashTrxResult = A.DeleteCashTrx(UserName, UserPassword, DeleteCashTrxInput)

Parameters UserID and Password are not used at this moment.

 

DeleteCashTrxInput Structure

Property Name

Length

Type

Detail

CustomerNo

6

String

Required.

CheckNo

6

Prior to V8.5: Integer

V8.5 and Above: String

Required. You will find out this information from ViewCashTrx method.

TimeStamp

6

Integer

Required.. You will find out  this information from ViewCashTrx method.

 

DeleteCashTrxResult Structure

Property

Type

Detail

ReturnCode

Integer

Zero means OK. For other return codes, please refer to “Return Code” section.

ReturnMsg

String

This is the explaination of return code.

 

Code Example (VB)

The following sample codes delete one pending cash receipt.

 

Dim Service As New webServicesCash.ElicshtxService

Dim Input As New webServicesCash.DeleteCashTrxInput

Dim Result As New webServicesCash.DeleteCashTrxResult

Input.CustomerNo = “000044”

Input.CheckNo = 123456

Input.TimeStamp = 163801

Result = Service.DeleteCashTrx(“”, “”, Input)

If Result.ReturnCode <> 0 Then

  lblResult.Text = “Record Deleted.”

Else

  lblResult.Text = “Error Code: ” + Result.ReturnCode.ToString + _

                    “ . Message: ” + Result.ReturnMsg

End If

ElicshtxService Return Code

 0 = OK

 1 = File Error

 2 = IncludeFullyPaidItems Must Be "Y", "N", or Blank (ViewOpenItems)

 3 = IncludePendingCashReceipts Must Be "Y", "N", or Blank (ViewOpenItems)

 4 = Too Many Records, Only The First 2000 Trx Returned (ViewOpenItems)

 5 = CustomerNo, CheckNo, and TimeStamp Are Required (DeleteCashTrx)

 6 = Cash Trx Record Locked (DeleteCashTrx)

 7 = Cash Appl Record Locked (DeleteCashTrx)

 8 = CreditARFlag Must Be "Y", "N", or Blank (AddCashTrx)

 9 = A Vaild CreditAccountNo Is Required When CreditARFlag = "N" (AddCashTrx)

10 = Invaild CashAccountNo (AddCashTrx)

11 = Invaild ApplyToAllowAcctNo (AddCashTrx)

12 = AutoApply Must Be "Y", "N", or Blank (AddCashTrx)

13 = ApplyToNo Is Already Fully Paid (AddCashTrx)

14 = Entered Amount Will Make The Apply-To Become Over Paid (AddCashTrx)

15 = ApplyToAmountApplied Must Be Positive (AddCashTrx)

16 = ApplyToAmountApplied Must Be Negative For Charge Back (AddCashTrx)

17 = CashACHReference Required (AddCashTrx)

18 = Invaild CashACHAcctKey (AddCashTrx)

19 = Total of ApplyToAmountApplied Not Equal To ReceiptAmount (AddCashTrx)

20 = PaymentType Must Be "CK" "CS" "GC" "CC" "WR" "AC" or Blank (AddCashTrx)

21 = PaymentType Does Not Match BatchID's payment type (AddCashTrx)

22 = To Auto Apply Trx, AmountReceived Must Greater Than Zero (AddCashTrx)

23 = PaymentType "AC" Is Not Enabled in Elliott (AddCashTrx)

24 = CheckNo Cannot Be Zero (AddCashTrx)

25 = ACH Account Belongs to Different Customer (AddCashTrx)

26 = Must Use PaymentType "AC" for Scheduled Batch (AddCashTrx)

27 = Receipt Date Must Match Scheduled Post Date (AddCashTrx)

28 = IncludeHistory Must Be “Y”, “N” or Blank (ViewOpenItems)

29 = IncludeFullyPaidItems Must Be “Y” if IncludeHistory Is “Y” (ViewOpenItems)

30 = Customer Not On File (ViewOpenItems, AddCashTrx)

10001 = Missing Customer No.

CLS

Feedback and Knowledge Base