Example 1 - Historical accounts and forecast (SOAP)
In this example the calculation date is set to 2020-03. This will tell the calculation-engine that the ongoing account year is 2020-01-01 - 2020-12-31.
Default length of all fiscal years is 12 months and default start month is January. Default number of forcast years is 3 years.
The arrays ActualFigures.HistoricalIncomestatements and ActualFigures.HistoricalBalancesheets is always in cronological order and the last item is always the latest account year that is closed.
Input:
Field | 2017-01-01 | 2018-01-01 | 2019-01-01 | |
CalculationYear | 2020 | |||
CalculationMonth | 3 | |||
Revenue | 100 000 | 200 000 | 300 000 | |
Cash | 200 000 | 300 000 | 400 000 | |
Unrestricted equity | 200 000 | 300 000 | 400 000 |
Output in this example (all other output is stripped from the XML in this example):
The default forecast method for the field Revenue is an automatic choice between linear regression and weighted running average. In this case the calculation engine choosed the linear regression because it was the best fit.
The first three years is redunant information copied from the input. The last three years is the calculated forecast.
Field | 2017-01-01 | 2018-01-01 | 2019-01-01 | 2020-01-01 | 2021-01-01 | 2022-01-01 |
---|---|---|---|---|---|---|
Revenue | 100 000 | 200 000 | 300 000 | 400 000 | 500 000 | 600 000 |
Capitex Företagslån can handle that you remove empty strings, zeros, nulls and booleans that are false from the SOAP-request. This feature is used in this example just to make the SOAP request easier to read, this SOAP-request is valid for Capitex Företagslån but it's not valid if you validate it to the WSDL.
Request:
<soapenv:Envelope xmlns:soapenv= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:urn= "urn:types.ApplicationserviceImpl.services.companycalc.capitex" xmlns:sc0= "urn:types.ApplicationserviceImpl.services.companycalc.capitex" > <soapenv:Header/> <soapenv:Body> <urn:doCaseCalculation> <CompanyCalcInput_1> <Companies xsi:type= "sc0:Company" > <ID>30DF1502-08F0-4AEF-A9C2-2C66CC10D056</ID> <ActualFigures xsi:type= "sc0:ActualFigures" > <HistoricalIncomestatements> <Revenue> 100000 </Revenue> </HistoricalIncomestatements> <HistoricalIncomestatements> <Revenue> 200000 </Revenue> </HistoricalIncomestatements> <HistoricalIncomestatements> <Revenue> 300000 </Revenue> </HistoricalIncomestatements> <HistoricalBalanceSheet> <Cash> 200000 </Cash> <UnrestrictedEquity> 200000 </UnrestrictedEquity> </HistoricalBalanceSheet> <HistoricalBalanceSheet> <Cash> 300000 </Cash> <UnrestrictedEquity> 300000 </UnrestrictedEquity> </HistoricalBalanceSheet> <HistoricalBalanceSheet> <Cash> 400000 </Cash> <UnrestrictedEquity> 400000 </UnrestrictedEquity> </HistoricalBalanceSheet> </ActualFigures> </Companies> <CalculationYear> 2020 </CalculationYear> <CalculationMonth> 3 </CalculationMonth> </CompanyCalcInput_1> </urn:doCaseCalculation> </soapenv:Body> </soapenv:Envelope> |
A lot of the data in the response has been removed in the example below so it will be easier to read. If you run the example in a tool like SoapUI you can look att the complete response.
The interesting part of the response in this example:
<env:Envelope xmlns:ns0= "urn:types.ApplicationserviceImpl.services.companycalc.capitex" xmlns:env= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:sc2= "urn:summary.dto.companycalc.capitex" xmlns:sc1= "urn:collaterals.dto.companycalc.capitex" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:sc0= "urn:dto.companycalc.capitex" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:enc= "http://schemas.xmlsoap.org/soap/encoding/" > <env:Body> <ns0:doCaseCalculationResponse> <result> <DetailedResultsPerCompany xsi:type= "sc0:CompanyCalcOutput" > <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2017 </Year> <Month> 1 </Month> </From> <To> <Year> 2017 </Year> <Month> 12 </Month> </To> <IsForecast> false </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 100000 </Revenue> <OperatingProfit> 100000 </OperatingProfit> <IncomeAfterFinancialItems> 100000 </IncomeAfterFinancialItems> <TotalNetIncome> 100000 </TotalNetIncome> <Ebitda> 100000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2018 </Year> <Month> 1 </Month> </From> <To> <Year> 2018 </Year> <Month> 12 </Month> </To> <IsForecast> false </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 200000 </Revenue> <OperatingProfit> 200000 </OperatingProfit> <IncomeAfterFinancialItems> 200000 </IncomeAfterFinancialItems> <TotalNetIncome> 200000 </TotalNetIncome> <Ebitda> 200000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2019 </Year> <Month> 1 </Month> </From> <To> <Year> 2019 </Year> <Month> 12 </Month> </To> <IsForecast> false </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 300000 </Revenue> <OperatingProfit> 300000 </OperatingProfit> <IncomeAfterFinancialItems> 300000 </IncomeAfterFinancialItems> <TotalNetIncome> 300000 </TotalNetIncome> <Ebitda> 300000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2020 </Year> <Month> 1 </Month> </From> <To> <Year> 2020 </Year> <Month> 12 </Month> </To> <IsForecast> true </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 400000 </Revenue> <OperatingProfit> 400000 </OperatingProfit> <IncomeAfterFinancialItems> 400000 </IncomeAfterFinancialItems> <TotalNetIncome> 400000 </TotalNetIncome> <Ebitda> 400000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2021 </Year> <Month> 1 </Month> </From> <To> <Year> 2021 </Year> <Month> 12 </Month> </To> <IsForecast> true </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 500000 </Revenue> <OperatingProfit> 500000 </OperatingProfit> <IncomeAfterFinancialItems> 500000 </IncomeAfterFinancialItems> <TotalNetIncome> 500000 </TotalNetIncome> <Ebitda> 500000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> <ResultsAfterLoanAdjusted xsi:type= "sc0:CalculatedResultsForOneYear" > <From> <Year> 2022 </Year> <Month> 1 </Month> </From> <To> <Year> 2022 </Year> <Month> 12 </Month> </To> <IsForecast> true </IsForecast> <IncomeBalanceAndKPI xsi:type= "sc0:IncomeBalanceAndKPI" > <Incomestatement xsi:type= "sc0:CalculatedIncomestatement" > <Revenue> 600000 </Revenue> <OperatingProfit> 600000 </OperatingProfit> <IncomeAfterFinancialItems> 600000 </IncomeAfterFinancialItems> <TotalNetIncome> 600000 </TotalNetIncome> <Ebitda> 600000 </Ebitda> </Incomestatement> </IncomeBalanceAndKPI> </ResultsAfterLoanAdjusted> </DetailedResultsPerCompany> </result> </ns0:doCaseCalculationResponse> </env:Body> </env:Envelope> |