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

CustomerACH
NameDescriptionTypeAdditional 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

set only for future batch transactions; will be set automatically on POST if blank

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

Sample:
{
  "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

Sample:
<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

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'CustomerACH'.

Response Information

Resource Description

CustomerACH
NameDescriptionTypeAdditional 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

set only for future batch transactions; will be set automatically on POST if blank

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

Sample:
{
  "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

Sample:
<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>