Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


...

Page Properties


Service NameaccountBalanceInquiry
DescriptionProvides the available balance for a given chart of accounts and account number.

...

API Type

SOAP

Status

Status
colourGreen
titlecomplete

Release Date

 

Last Update

 KFS Version 3.32.0

Notes


WSDL Definition

Definition URLs

UAT - https://kualinp.uconn.edu/kfs-

...

...

PROD - https://

...

...

...

Binding

{http://

...

...

...

...

Operations

NameDescriptionInput
getAccountBalance

Will retrieve the available account balance for one account.

...

chartOfAccountsCode

...

[Default 'UC'] (Optional)

...

account number (Required)

Response

AttributeDescriptionValues
Id

Unique Identifier


Account name

description of account


Account number

Chart of Accounts code
UC
Status
New, Open, Close, Changed
FiscalOfficerIdentifiernetid
Account Type Code

Bank code

Consolidation Chart of Accounts code

Consolidation Account Number

Reports to Account Number

Reports to Chart of Accounts Code

FundSid Code

FundSid description

Account Manager System Identifiernetid
Account supervisor Systems Identifiernetid
Organization Code

SubFund group code

Department account owner code

Department reference 1

Cfda number

Project name

Plant funds parent code

Plant funds parent code description

Account expense guideline text

Account income guideline text

Account purpose text

Sample Request XML

Code Block
languagexml
titleSample Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v5="http://kfs.kuali.org/core/v5_0">
	<soapenv:Header/>
	<soapenv:Body>
		<v5:getAccountBalance>
			<!-Optional:->
			<arg0>
				<chartOfAccountsCode></chartOfAccountsCode>
				<accountNumber>5612710</accountNumber>
			</arg0>
		</v5:getAccountBalance>
	</soapenv:Body>
</soapenv:Envelope>

Sample Response XML (Good)

Code Block
languagexml
titleSample Response XML (Good)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<ns2:getAccountBalanceResponse xmlns:ns2="http://kfs.kuali.org/core/v5_0">
			<return>
				<accountBalance>10955.85</accountBalance>
			</return>
		</ns2:getAccountBalanceResponse>
	</soap:Body>
</soap:Envelope>

Sample Response XML (Bad)

Code Block
languagexml
titleSample Response (Bad)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<soap:Fault>
			<faultcode>soap:Server</faultcode>
			<faultstring>Invalid/empty Account Parameter.</faultstring>
			<detail>
				<ns2:AccountInquiryFault xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://kfs.kuali.org/core/v5_0"/>
			</detail>
		</soap:Fault>
	</soap:Body>
</soap:Envelope>

Code Examples

  • Java

    Code Block
    languagejava
    titleJUnit
    package com.example.coa.service;
    
    import java.time.LocalDate;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.xml.bind.JAXBElement;
    
    import org.junit.Test;
    import org.kuali.kfs.core.v5_0.GetAccountsResponse;
    import org.springframework.oxm.jaxb.Jaxb2Marshaller;
    
    import junit.framework.TestCase;
    
    public class AccountInquiryServiceTest extends TestCase {
    
        @Test
        public void testGetAccounts() throws Exception {
    
            List<String> subFunds = new ArrayList<String>();
            subFunds.add("PLEQP");
            subFunds.add("PLRES");
            subFunds.add("PLBHC");
            subFunds.add("PLRHC");
            subFunds.add("OPOTF");
            subFunds.add("PLBND");
            subFunds.add("PLREV");
            subFunds.add("PLUNR");
    
            List<String> organizationcodes = new ArrayList<String>();
            organizationcodes.add("1832");
            organizationcodes.add("1731");
            organizationcodes.add("1863");
            
            LocalDate fromDate = LocalDate.parse("2016-08-26");
            LocalDate toDate = LocalDate.parse("2016-09-15");
                    
            ChartOfAccountsInquiryServiceClient client = new ChartOfAccountsInquiryServiceClient();
            
            Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
            marshaller.setContextPath("org.kuali.kfs.core.v5_0");
            client.setMarshaller(marshaller);
            client.setUnmarshaller(marshaller);
              
            JAXBElement<GetAccountsResponse> response = client.getAccounts(subFunds, organizationcodes, fromDate, toDate);
    
            assertNotNull(response);
        }
    
    }


    Code Block
    languagejava
    titleClient
    package com.example.coa.service;
    
    import java.time.LocalDate;
    import java.util.List;
    
    import javax.xml.bind.JAXBElement;
    import javax.xml.datatype.DatatypeFactory;
    
    import org.kuali.kfs.core.v5_0.AllAccountRequest;
    import org.kuali.kfs.core.v5_0.GetAccounts;
    import org.kuali.kfs.core.v5_0.GetAccountsResponse;
    import org.kuali.kfs.core.v5_0.ObjectFactory;
    import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
    
    public class ChartOfAccountsInquiryServiceClient extends WebServiceGatewaySupport {
    
        public JAXBElement<GetAccountsResponse> getAccounts(List<String> subFunds, List<String> organizationcodes, LocalDate fromDate, LocalDate toDate) throws Exception {
        	
        	ObjectFactory factory = new ObjectFactory();
        	DatatypeFactory datatypeFactory = DatatypeFactory.newInstance();
    
            String uri = "https://kualinp.uconn.edu/kfs-dev/remoting/chartOfAccountsInquiry";
            GetAccounts request = new GetAccounts();
            AllAccountRequest allAccountRequest = new AllAccountRequest();
            allAccountRequest.getSubFund().addAll(subFunds);
            allAccountRequest.getOrganizationCode().addAll(organizationcodes);
            allAccountRequest.setFromDate(factory.createAllAccountRequestFromDate(datatypeFactory.newXMLGregorianCalendar(fromDate.toString())));
            allAccountRequest.setToDate(factory.createAllAccountRequestToDate(datatypeFactory.newXMLGregorianCalendar(toDate.toString())));
            request.setArg0(allAccountRequest);
            
            return (JAXBElement<GetAccountsResponse>) getWebServiceTemplate().marshalSendAndReceive(uri, request);
        }
    
    }



Criteria Used for Balance Checking:

...


Calculation:
Available Balance = (BudgetAmount – ActualsAmount – EncumbranceAmount)Sample code for retrieving a Single Account:
SOAP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v5="http://kfs.kuali.org/core/v5_0">
<soapenv:Header/>
<soapenv:Body>
<v5:getAccountBalance>
<!-Optional:->
<arg0>
<chartOfAccountsCode></chartOfAccountsCode>
<accountNumber>5612710</accountNumber>
</arg0>
</v5:getAccountBalance>
</soapenv:Body>
</soapenv:Envelope>
Sample Good Result:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getAccountBalanceResponse xmlns:ns2="http://kfs.kuali.org/core/v5_0">
<return>
<accountBalance>10955.85</accountBalance>
</return>
</ns2:getAccountBalanceResponse>
</soap:Body>
</soap:Envelope>
Sample Bad Result:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Invalid/empty Account Parameter.</faultstring>
<detail>
<ns2:AccountInquiryFault xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://kfs.kuali.org/core/v5_0"/>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>