Versions Compared

Key

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

...

Page Properties


Service NamechartOfAccountsInquiry
DescriptionProvides basic information about the KFS chart of accounts based on a set of request parameters.
API Type

SOAP

Status

Status
colourGreen
titlecomplete

Release Date

 

Last Update

 KFS Version 3.32.0

Notes


WSDL Definition

Operations

NameDescriptionInput
getAccount

Will retrieve information one account

account number (Required)
getAccounts

Will retrieve information on all accounts within a set of selection criteria

subFund (Required)
organization code (Optional)
from Date [yyyy-mm-dd] (Optional)
to Date [yyyy-mm-dd] (Optional)

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:getAccount>
         <!--Optional:-->
         <arg0>
            <accountNumber>7744640</accountNumber>
         </arg0>
      </v5:getAccount>
   </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:getAccountResponse xmlns:ns2="http://kfs.kuali.org/core/v5_0">
         <return>
            <id>21181adc-d953-4e0a-8ef3-3eb3ca7f3176</id>
            <accountName>902118</accountName>
            <accountNumber>7744640</accountNumber>
            <chartOfAccountsCode>UC</chartOfAccountsCode>
            <status>OPEN</status>
            <fiscalOfficerIdentifier>kar05009</fiscalOfficerIdentifier>
            <accountTypeCode>UI</accountTypeCode>
            <bankCode>17</bankCode>
            <consolidationChartOfAccountsCode/>
            <consolidationAccountNumber/>
            <reportsToAccountNumber/>
            <reportsToChartOfAccountsCode/>
            <FundSIDCode>3952010</FundSIDCode>
            <fundSIDDescription>Go Bond Uconn2000/21st Century</fundSIDDescription>
            <accountManagerSystemIdentifier>lac12009</accountManagerSystemIdentifier>
            <accountsSupervisorySystemsIdentifier>hls00005</accountsSupervisorySystemsIdentifier>
            <organizationCode>1832</organizationCode>
            <subFundGroupCode>PLBND</subFundGroupCode>
            <departmentAccountOwnercode>NGC</departmentAccountOwnercode>
            <departmentReference1>ACTIVE</departmentReference1>
            <cfdaNumber/>
            <projectName>East Central Campus Utility Upgrade</projectName>
            <plantFundsParentCode>1173</plantFundsParentCode>
            <plantFundsParentCodeDescription>Def Mtn/Code & ADA Cmp/Inf Imp & Reno Lump Sum/UA&S Fac</plantFundsParentCodeDescription>
            <accountExpenseGuidelineText>Utility upgrade. Will capitalize. A   Pavone 9/16/16.</accountExpenseGuidelineText>
            <accountIncomeGuidelineText>Conform to University/Sponsor policies.PER KS/SJ EMAIL, SH/N BE CHARGED PAYROLL - REMOVED PAYROLL INDICATOR 3/9/18.</accountIncomeGuidelineText>
            <accountPurposeText>Project will re-route, replace, upgrade or add utilities in    order to facilitate construction of South Campus Commons project planned for construction in 2018. Also consider & replace aged infrastructure in    general area of South Campus Commons & consider future projects will impact utility distribution.</accountPurposeText>
         </return>
      </ns2:getAccountResponse>
   </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>Account not found.</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);
        }
    
    }


  • Ruby 

    Code Block
    languageruby
    titleClient
    require 'savon'
    
    client = Savon.client(
      :wsdl => "https://kualinp.uconn.edu/kfs-uat/remoting/chartOfAccountsInquiry?wsdl",
      :ssl_verify_mode => :none,
      :namespace => "http://kfs.kuali.org/core/v5_0"
    )
    
    puts client.operations
    
    response = client.call(:get_accounts, soap_action: false,
    message: {
      arg0: {
        accountNumber:7744640
      }
    })
    
    puts response.to_xml


...