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 TypeREST (changed from SOAP) - FinancialWebAPI (January, 2022)
Status

Status
colourGreen
titlecomplete

Release Date

 

Last Update

 KFS Version 3.32.0

Notes



Sample Response - Single Account

<Account>

<id>C1F881630C4C0012E0430A031C730012</id>

<accountName>2010 Pi Allotment</accountName>

<accountNumber>4343430</accountNumber>

<chartOfAccountsCode>UC</chartOfAccountsCode>

<status>CLOSED</status>

<fiscalOfficerIdentifier>dbm02001</fiscalOfficerIdentifier>

<accountTypeCode>IP</accountTypeCode>

<bankCode>15</bankCode>

<consolidationChartOfAccountsCode/>

<consolidationAccountNumber/>

<reportsToAccountNumber/>

<reportsToChartOfAccountsCode/>

<FundSIDCode>1171000</FundSIDCode>

<fundSIDDescription>Research Fund</fundSIDDescription>

<accountManagerSystemIdentifier>dak02005</accountManagerSystemIdentifier>

<accountsSupervisorySystemsIdentifier>mjp02013</accountsSupervisorySystemsIdentifier>

<organizationCode>1321</organizationCode>

<subFundGroupCode>UNRSP</subFundGroupCode>

<departmentAccountOwnercode/>

<departmentReference1/>

<cfdaNumber/>

<projectName/>

<plantFundsParentCode/>

<plantFundsParentCodeDescription/>

<accountExpenseGuidelineText>Conform to University/Sponsor policies</accountExpenseGuidelineText>

<accountIncomeGuidelineText>Conform to University/Sponsor policies</accountIncomeGuidelineText>

<accountPurposeText>

To record transactions and balances for this account.

</accountPurposeText>

<effectiveDate>2011-10-25</effectiveDate>

<expiredDate>2011-12-31</expiredDate>

</Account>




WSDL Definition

Definition URLs

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

...

...

PROD - https://

...

...

...

Binding

{http://

...

kfs.

...

kuali.

...

org/kfs

...

/v5_0}chartOfAccountsInquirySoapBinding

SOAP Version

SOAP 1.1

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

AttributeXPathNotes
Id

return/account/id

Unique Identifier
Account name

return/account/accountName

description of account
Account numberreturn/account/accountNumber
Chart of Accounts code

...

return/account/chartOfAccountsCodeUC
Status

...

return/account/statusenumeration values (NEW, OPEN, CLOSE, CHANGED)
FiscalOfficerIdentifierreturn/account/fiscalOfficerIdentifiernetid
Account Type Codereturn/account/accountTypeCode
Bank codereturn/account/bankCode
Consolidation Chart of Accounts codereturn/account/consolidationChartOfAccountsCode
Consolidation Account Numberreturn/account/consolidationAccountNumber
Reports to Account Numberreturn/account/reportsToAccountNumber
Reports to Chart of Accounts Codereturn/account/reportsToChartOfAccountsCode
FundSid Codereturn/account/FundSIDCode
FundSid descriptionreturn/account/fundSIDDescription
Account Manager System Identifier

...

return/account/accountManagerSystemIdentifiernetid
Account supervisor Systems Identifier

...

return/account/accountsSupervisorySystemsIdentifiernetid
Organization Codereturn/account/organizationCode
SubFund group codereturn/account/subFundGroupCode
Department account owner codereturn/account/departmentAccountOwnercode
Department reference 1return/account/departmentReference1
Cfda numberreturn/account/cfdaNumber
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>

Sample SQL example

select account_NBR, account_nm, Sub_fund_grp_cd, acct_closed_ind, acct_create_dt, acct_effect_dt, acct_expiration_dt
--select count(*)
from kfs_uat.CA_ACCOUNT_T
where sub_fund_grp_cd IN ('PLEQP', 'PLRES', 'PLBHC', 'PLRHC', 'OPOTF', 'PLBND', 'PLREV', 'PLUNR')
-- and acct_create_dt > TO_DATE('2016-08-25','YYYY-MM-DD')
-- and acct_create_dt < TO_DATE('2016-09-17','YYYY-MM-DD') 

--order by account_nbr
 ; 

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

...