POST api/customerach
Creates a new ACH record for payment of existing Invoices; create an entry for a pre-authorized Forte transaction that will be cleared in SedonaOffice (use CustomerPayment to create Deposit Check entries). Can also be used to create a credit refund by setting IsCredit = True (either a Credit or Unapplied Cash transaction must also be created for the customer for the accounting records to be complete).
Request Information
URI Parameters
None.
Body Parameters
CustomerACHName | Description | Type | Additional information |
---|---|---|---|
ACHId |
Sedona internal autonumber for the ACH record |
integer |
None. |
CustomerId |
Foreign key from AR_Customer table |
integer |
Required |
EnteredDate |
read only; set automatically on POST |
string |
None. |
Description |
Description of the transaction (field is required). Can be set up as a config setting upon request. |
string |
Required String length: inclusive between 0 and 50 |
InvoiceId |
Foreign key from AR_Invoice table; currently required to create ACH |
integer |
Required |
InvoiceNumber |
read only; Invoice Number the customer sees |
integer |
None. |
InvoiceDate |
read only |
string |
None. |
Amount | decimal number |
Required |
|
Submitted |
read only; set automatically on POST |
boolean |
None. |
SubmitDate |
read only; set automatically on POST |
string |
None. |
BatchCode |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 25 |
UserCode |
the user making this change; defaults to UserCode value from config file if not set explicitly |
string |
String length: inclusive between 0 and 25 |
ReadyToPost |
read only; set automatically on POST |
boolean |
None. |
ResponseType |
value passed back from Forte API; should be "F" for approved Credit Card transactions and blank for bank transactions |
string |
String length: inclusive between 0 and 1 |
ResponseCode |
value passed back from Forte API; should be "A01" for approved Credit Card transactions and blank for bank transactions |
string |
String length: inclusive between 0 and 3 |
Posted |
read only; set automatically on POST |
boolean |
None. |
HoldDate |
read only; set automatically on POST |
string |
None. |
AuthorizationCode |
value passed back from Forte API; required for Credit Card transactions (should be null for Bank) |
string |
String length: inclusive between 0 and 25 |
TraceNumber |
value passed back from Forte API; required for Credit Card transactions (should be null for Bank) |
string |
String length: inclusive between 0 and 60 |
BankId |
represents the Bank_Id field in AR_Customer_Bank, NOT Customer_Bank_Id; do not set explicitly; this value will be set automatically by passing in the CustomerBankId |
integer |
None. |
CustomerBankId |
primary key in AR_Customer_Bank representing the customer's bank record |
integer |
None. |
BankAccountName |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 22 |
CustomerCCId |
key from AR_Customer_CC; set up Credit Card record first, then pass in CustomerCCId |
integer |
None. |
NameOnCard |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 22 |
Voided |
read only; set automatically on POST |
boolean |
None. |
VoidReason |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 50 |
LastFourDigits |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 4 |
AVSResponse |
Address verification flag (1 = verified); defaults to 0 (N/A) if not supplied |
integer |
None. |
ACHDirectToken |
if applicable, token representing a customer's credit card |
string |
String length: inclusive between 0 and 50 |
MerchantId |
if applicable, the ACH Direct MerchantId (from AR_ACH_Direct setup table) |
string |
String length: inclusive between 0 and 10 |
IsCredit |
set False for payment; set True for Credit - for a Credit with no Invoices, you must first create a Credit Memo via CustomerCredit, and appy the open credit to the Refunds account code via CustomerCreditDetail |
boolean |
None. |
Invoices |
collection of invoices to be paid or creditedby this ACH; leave null for Unapplied |
Collection of CustomerACHInvoice |
None. |
Request Formats
application/json, text/json
{ "ACHId": 1, "CustomerId": 2, "EnteredDate": "sample string 3", "Description": "sample string 4", "InvoiceId": 5, "InvoiceNumber": 6, "InvoiceDate": "sample string 7", "Amount": 8.0, "Submitted": true, "SubmitDate": "sample string 10", "BatchCode": "sample string 11", "UserCode": "sample string 12", "ReadyToPost": true, "ResponseType": "sample string 14", "ResponseCode": "sample string 15", "Posted": true, "HoldDate": "sample string 17", "AuthorizationCode": "sample string 18", "TraceNumber": "sample string 19", "BankId": 20, "CustomerBankId": 21, "BankAccountName": "sample string 22", "CustomerCCId": 23, "NameOnCard": "sample string 24", "Voided": true, "VoidReason": "sample string 26", "LastFourDigits": "sample string 27", "AVSResponse": 28, "ACHDirectToken": "sample string 29", "MerchantId": "sample string 30", "IsCredit": true, "Invoices": [ { "ACHInvoiceId": 1, "ACHId": 2, "InvoiceId": 3, "Amount": 4.0, "DepositCheckDetailId": 5 }, { "ACHInvoiceId": 1, "ACHId": 2, "InvoiceId": 3, "Amount": 4.0, "DepositCheckDetailId": 5 } ] }
application/xml, text/xml
<CustomerACH xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/SedonaServices.Models"> <ACHDirectToken>sample string 29</ACHDirectToken> <ACHId>1</ACHId> <AVSResponse>28</AVSResponse> <Amount>8</Amount> <AuthorizationCode>sample string 18</AuthorizationCode> <BankAccountName>sample string 22</BankAccountName> <BankId>20</BankId> <BatchCode>sample string 11</BatchCode> <CustomerBankId>21</CustomerBankId> <CustomerCCId>23</CustomerCCId> <CustomerId>2</CustomerId> <Description>sample string 4</Description> <EnteredDate>sample string 3</EnteredDate> <HoldDate>sample string 17</HoldDate> <InvoiceDate>sample string 7</InvoiceDate> <InvoiceId>5</InvoiceId> <InvoiceNumber>6</InvoiceNumber> <Invoices> <CustomerACHInvoice> <ACHId>2</ACHId> <ACHInvoiceId>1</ACHInvoiceId> <Amount>4</Amount> <DepositCheckDetailId>5</DepositCheckDetailId> <InvoiceId>3</InvoiceId> </CustomerACHInvoice> <CustomerACHInvoice> <ACHId>2</ACHId> <ACHInvoiceId>1</ACHInvoiceId> <Amount>4</Amount> <DepositCheckDetailId>5</DepositCheckDetailId> <InvoiceId>3</InvoiceId> </CustomerACHInvoice> </Invoices> <IsCredit>true</IsCredit> <LastFourDigits>sample string 27</LastFourDigits> <MerchantId>sample string 30</MerchantId> <NameOnCard>sample string 24</NameOnCard> <Posted>true</Posted> <ReadyToPost>true</ReadyToPost> <ResponseCode>sample string 15</ResponseCode> <ResponseType>sample string 14</ResponseType> <SubmitDate>sample string 10</SubmitDate> <Submitted>true</Submitted> <TraceNumber>sample string 19</TraceNumber> <UserCode>sample string 12</UserCode> <VoidReason>sample string 26</VoidReason> <Voided>true</Voided> </CustomerACH>
application/x-www-form-urlencoded
Response Information
Resource Description
CustomerACHName | Description | Type | Additional information |
---|---|---|---|
ACHId |
Sedona internal autonumber for the ACH record |
integer |
None. |
CustomerId |
Foreign key from AR_Customer table |
integer |
Required |
EnteredDate |
read only; set automatically on POST |
string |
None. |
Description |
Description of the transaction (field is required). Can be set up as a config setting upon request. |
string |
Required String length: inclusive between 0 and 50 |
InvoiceId |
Foreign key from AR_Invoice table; currently required to create ACH |
integer |
Required |
InvoiceNumber |
read only; Invoice Number the customer sees |
integer |
None. |
InvoiceDate |
read only |
string |
None. |
Amount | decimal number |
Required |
|
Submitted |
read only; set automatically on POST |
boolean |
None. |
SubmitDate |
read only; set automatically on POST |
string |
None. |
BatchCode |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 25 |
UserCode |
the user making this change; defaults to UserCode value from config file if not set explicitly |
string |
String length: inclusive between 0 and 25 |
ReadyToPost |
read only; set automatically on POST |
boolean |
None. |
ResponseType |
value passed back from Forte API; should be "F" for approved Credit Card transactions and blank for bank transactions |
string |
String length: inclusive between 0 and 1 |
ResponseCode |
value passed back from Forte API; should be "A01" for approved Credit Card transactions and blank for bank transactions |
string |
String length: inclusive between 0 and 3 |
Posted |
read only; set automatically on POST |
boolean |
None. |
HoldDate |
read only; set automatically on POST |
string |
None. |
AuthorizationCode |
value passed back from Forte API; required for Credit Card transactions (should be null for Bank) |
string |
String length: inclusive between 0 and 25 |
TraceNumber |
value passed back from Forte API; required for Credit Card transactions (should be null for Bank) |
string |
String length: inclusive between 0 and 60 |
BankId |
represents the Bank_Id field in AR_Customer_Bank, NOT Customer_Bank_Id; do not set explicitly; this value will be set automatically by passing in the CustomerBankId |
integer |
None. |
CustomerBankId |
primary key in AR_Customer_Bank representing the customer's bank record |
integer |
None. |
BankAccountName |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 22 |
CustomerCCId |
key from AR_Customer_CC; set up Credit Card record first, then pass in CustomerCCId |
integer |
None. |
NameOnCard |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 22 |
Voided |
read only; set automatically on POST |
boolean |
None. |
VoidReason |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 50 |
LastFourDigits |
read only; set automatically on POST |
string |
String length: inclusive between 0 and 4 |
AVSResponse |
Address verification flag (1 = verified); defaults to 0 (N/A) if not supplied |
integer |
None. |
ACHDirectToken |
if applicable, token representing a customer's credit card |
string |
String length: inclusive between 0 and 50 |
MerchantId |
if applicable, the ACH Direct MerchantId (from AR_ACH_Direct setup table) |
string |
String length: inclusive between 0 and 10 |
IsCredit |
set False for payment; set True for Credit - for a Credit with no Invoices, you must first create a Credit Memo via CustomerCredit, and appy the open credit to the Refunds account code via CustomerCreditDetail |
boolean |
None. |
Invoices |
collection of invoices to be paid or creditedby this ACH; leave null for Unapplied |
Collection of CustomerACHInvoice |
None. |
Response Formats
application/json, text/json
{ "ACHId": 1, "CustomerId": 2, "EnteredDate": "sample string 3", "Description": "sample string 4", "InvoiceId": 5, "InvoiceNumber": 6, "InvoiceDate": "sample string 7", "Amount": 8.0, "Submitted": true, "SubmitDate": "sample string 10", "BatchCode": "sample string 11", "UserCode": "sample string 12", "ReadyToPost": true, "ResponseType": "sample string 14", "ResponseCode": "sample string 15", "Posted": true, "HoldDate": "sample string 17", "AuthorizationCode": "sample string 18", "TraceNumber": "sample string 19", "BankId": 20, "CustomerBankId": 21, "BankAccountName": "sample string 22", "CustomerCCId": 23, "NameOnCard": "sample string 24", "Voided": true, "VoidReason": "sample string 26", "LastFourDigits": "sample string 27", "AVSResponse": 28, "ACHDirectToken": "sample string 29", "MerchantId": "sample string 30", "IsCredit": true, "Invoices": [ { "ACHInvoiceId": 1, "ACHId": 2, "InvoiceId": 3, "Amount": 4.0, "DepositCheckDetailId": 5 }, { "ACHInvoiceId": 1, "ACHId": 2, "InvoiceId": 3, "Amount": 4.0, "DepositCheckDetailId": 5 } ] }
application/xml, text/xml
<CustomerACH xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/SedonaServices.Models"> <ACHDirectToken>sample string 29</ACHDirectToken> <ACHId>1</ACHId> <AVSResponse>28</AVSResponse> <Amount>8</Amount> <AuthorizationCode>sample string 18</AuthorizationCode> <BankAccountName>sample string 22</BankAccountName> <BankId>20</BankId> <BatchCode>sample string 11</BatchCode> <CustomerBankId>21</CustomerBankId> <CustomerCCId>23</CustomerCCId> <CustomerId>2</CustomerId> <Description>sample string 4</Description> <EnteredDate>sample string 3</EnteredDate> <HoldDate>sample string 17</HoldDate> <InvoiceDate>sample string 7</InvoiceDate> <InvoiceId>5</InvoiceId> <InvoiceNumber>6</InvoiceNumber> <Invoices> <CustomerACHInvoice> <ACHId>2</ACHId> <ACHInvoiceId>1</ACHInvoiceId> <Amount>4</Amount> <DepositCheckDetailId>5</DepositCheckDetailId> <InvoiceId>3</InvoiceId> </CustomerACHInvoice> <CustomerACHInvoice> <ACHId>2</ACHId> <ACHInvoiceId>1</ACHInvoiceId> <Amount>4</Amount> <DepositCheckDetailId>5</DepositCheckDetailId> <InvoiceId>3</InvoiceId> </CustomerACHInvoice> </Invoices> <IsCredit>true</IsCredit> <LastFourDigits>sample string 27</LastFourDigits> <MerchantId>sample string 30</MerchantId> <NameOnCard>sample string 24</NameOnCard> <Posted>true</Posted> <ReadyToPost>true</ReadyToPost> <ResponseCode>sample string 15</ResponseCode> <ResponseType>sample string 14</ResponseType> <SubmitDate>sample string 10</SubmitDate> <Submitted>true</Submitted> <TraceNumber>sample string 19</TraceNumber> <UserCode>sample string 12</UserCode> <VoidReason>sample string 26</VoidReason> <Voided>true</Voided> </CustomerACH>