Loan Builder - Response

Please see the Legend to understand the conventions used to document each element and attribute. Note that for responses, the XML elements are documented in the order that they appear in the response.

ElementAttributes
🟥 <outLOAN_BUILDER>🔹Country, 🔹CurrencyDP
|- 🟥 <Results>
|- |- 🟥 <Description>
|- |- 🟦 <Note>[]🔹Code
|- |- 🟦 <XMLDetail>[]
|- 🟦 <FedBox>
|- |- 🟥 <AmtFin>
|- |- 🟥 <FinChg>
|- |- 🟥 <TotPmts>
|- |- 🟦 <TAP>🔹Pocket, 🔹PocketAPR, 🔹PrepaidNF
|- |- 🟥 <RegZAPR>🔹Max, 🔹MaxExceeded, 🔸Type
|- |- 🟦 <MAPR>🔸Advance, 🔹Max, 🔹MaxExceeded
|- 🟦 <TILARESPA2015>
|- |- 🟦 <LoanCost>[]🔹In5Years, 🔹Name
|- |- 🟥 <TotalLoanCosts>
|- |- 🟥 <CD_TotPmts>
|- |- 🟥 <In5Years>🔸PaidPrincipal, 🔸PaidTotal
|- |- 🟥 <TIP>
|- |- 🟥 <MaxPnIPmt>🔸Date
|- |- 🟥 <MinRate>🔸Idx
|- |- 🟥 <MaxRate>🔸Idx
|- |- 🟥 <ProjectedPayments>🔸NumCols
|- |- |- 🟥 <PPCol>[]🔸Num, 🔸Title
|- |- |- |- 🟥 <Years>🔸End, 🔸Start
|- |- |- |- 🟥 <PnIPmt>🔸Balloon, 🔸IntOnly, 🔸Max, 🔸Min
|- |- |- |- 🟥 <MIPmt>
|- |- |- |- 🟥 <TotalPmt>🔸Max, 🔸Min
|- 🟥 <Moneys>
|- |- 🟥 <Proceeds>
|- |- 🟥 <Principal>
|- |- 🟥 <Interest>
|- |- 🟦 <FinFees>
|- |- 🟦 <Prepaid>
|- |- 🟦 <OtherNonAPRFees>
|- |- 🟦 <ServiceChg>
|- |- 🟦 <PocketFees>
|- |- 🟦 <MAPRFees>
|- |- 🟦 <BalAdjusts>
|- |- 🟦 <ConInterest>🔸IsPrepaid
|- |- 🟦 <OddDaysPrepaid>🔹AddToPmt, 🔹DailyCost, 🔸OddDayCount, 🔹OddMonths
|- |- 🟦 <MinIntChgAdj>
|- |- 🟦 <MinFinChgAdj>
|- |- 🟦 <MortIns>
|- |- 🟦 <Advance>[]🔸Date
|- |- 🟦 <Fee>[]🔹Name
|- 🟥 <Accrual>
|- |- 🟥 <Method>
|- |- 🟥 <Days1Pmt>🔸DayCount
|- |- 🟥 <Maturity>
|- 🟥 <PmtStream>[]🔸Begin, 🔹Idx, 🔹IsSplitRate, 🔸Pmt, 🔹PPY, 🔹Rate, 🔸Term
|- 🟦 <Mortgage_Insurance>🔹IndexToRemove, 🔹IndexToWarn, 🔸LTV
|- |- 🟥 <MI_Rate>🔸PremiumPerPeriod, 🔸PremiumPerYear, 🔸Rate
|- |- 🟦 <UpFront>
|- |- 🟦 <Periodic>🔸IndexToDrop, 🔸IndexToWarn, 🔸LTV
|- 🟦 <Protection>🔸LoanType, 🔹Path
|- |- 🟥 <Product>[]🔸Abbrev, 🔸Code, 🔸DropCode, 🔸DropReason, 🔸Formula, 🔹IsDP, 🔸Name, 🔹RateType, 🔸Result, 🔹Table
|- |- |- 🟦 <Note>[]🔸Code
|- |- |- 🟦 <Cost>🔹Factor, 🔸PerDay, 🔸PerPmt, 🔸Premium, 🔸Rate
|- |- |- 🟦 <Coverage>🔸Amount, 🔸Code, 🔸Note
|- |- |- 🟦 <Benefit>🔸BenMon, 🔸BenPer, 🔸Code, 🔸Note
|- |- |- 🟦 <Borrower>🔸AgeAtIssue, 🔸AgeAtMaturity, 🔹AmMonths, 🔸Birthday, 🔸Code, 🔸Maturity, 🔸Note, 🔸Months, 🔸Pmts
|- |- |- 🟦 <Caps>🔹AttainAge, 🔹Benefit, 🔹BenPer, 🔹Coverage, 🔹InceptAge, 🔹Term, 🔹TermPer
|- 🟦 <AmTable>🔹AvgBal, 🔹Months, 🔹OddDays, 🔹Weeks
|- |- 🟦 <GrandTotals>🔸IntTot, 🔸PmtTot, 🔸PrinTot
|- |- 🟦 <SubTotals>[]🔸Events, 🔸IntSub, 🔸PmtSub, 🔸PrinSub, 🔸Start, 🔸Year
|- |- 🟥 <AmLine>[]🔸BegBal, 🔸Date, 🔸EndBal, 🔹FeeTot, 🔸Idx, 🔸Int, 🔸Pmt, 🔹PmtEsc, 🔸Prin, 🔹ProtUnpaid, 🔹Type, 🔹UnpaidInt

🟥 <outLOAN_BUILDER>

Element TypeData Type
Parent-

This element is the root parent element that contains all of the relevant outputs. If a Country code was provided in the request, the following attribute will be included.

Attributes: 🔹Country, 🔹CurrencyDP

🔹 Country

Data TypeValuesDefault
TextSee tableUnited States of America

If a valid Country code was specified as an attribute of the input module element, the full name of the country associated with the specified Country code will be reported in this optional attribute.

🔹 CurrencyDP

Data TypeValuesDefault
Integer0, 22

The number of decimal places that define the currency of the calculation.


🟥 <Results>

Element TypeData Type
Parent-

This element contains child elements which describe the success or failure of the calculation, as well as any XML messages.

<Results>
  <Description>Successful Calculation</Description>
</Results>

Attributes: None


🟥 <Results><Description>

Element TypeData Type
DataText

If the calculation was completed successfully, then this element will contain the value Successful Calculation. Otherwise, this element will contain a description of the problem encountered during the attempted computation.

Attributes: None


🟦 <Results><Note>[]

Element TypeData TypeDefault
DataTextNULL

The <Note> elements present important calculation comments to more fully explain outputs that may either not be apparant in the inputs or have overriden input assumptions. These notes are thoroughly detailed in the Appendix titled `Calculation Notes'.

Attributes: 🔹Code

🔹 Code

Data TypeValuesDefault
Integer>= 1n/a

The unique integer identifying the <Note> in question. This Code may be useful if the calling application would like to override the default description or check for a given note's Code.


🟦 <Results><XMLDetail>[]

Element TypeData TypeDefault
DataTextNULL

The <XMLDetail> elements are messages passed back to the calling application which detail the status of the XML request. If the SCEX issues any warnings regarding unrecognized elements or attributes, then each warning message will be displayed in an <XMLDetail> element.

Attributes: None


🟦 <FedBox>

Element TypeData Type
Parent-

This element groups together all child elements which contain numerical FedBox information, such as the Amount Financed, Finance Charge, Total of Payments, and Regulation Z Annual Percentage Rate.

<FedBox>
  <AmtFin>10070.00</AmtFin>
  <FinChg>1685.80</FinChg>
  <TotPmts>11755.80</TotPmts>
  <RegZAPR Type="Actuarial">10.3420</RegZAPR>
  <MAPR Advance="9960.00" Max="37.000" MaxExceeded="false">11.1001</MAPR>
</FedBox>

Attributes: None


🟥 <FedBox><AmtFin>

Element TypeData Type
DataCurrency

The Regulation Z Amount Financed, which is defined as the amount of credit provided to you or on your behalf.

Attributes: None


🟥 <FedBox><FinChg>

Element TypeData Type
DataCurrency

This element contains the Regulation Z Finance Charge, described as the dollar amount the credit extension will cost you.

Attributes: None


🟥 <FedBox><TotPmts>

Element TypeData Type
DataCurrency

The amount which the borrower will have paid when the borrower has made all scheduled payments.

Attributes: None


🟦 <FedBox><TAP>

Element TypeData TypeDefault
DataCurrencyn/a

The total amount payable element is only returned with the response if the value of the ShowTap attribute of the <EditOutput> element in the request is true. The value of this element is computed as the sum of: (i) the total of payments, (ii) all non-financed APR affecting fees, (iii) all out-of-pocket non-APR affecting fees, and (iv) all out-of-pocket APR affecting fees.

Attributes: 🔹Pocket, 🔹PocketAPR, 🔹PrepaidNF

🔹 Pocket

Data TypeDefault
Currency0

The value of this attribute is the sum of all out-of-pocket non-APR affecting fees. This attribute will only be returned if the value is greater than zero.

🔹 PocketAPR

Data TypeDefault
Currency0

The value of this attribute is the sum of all out-of-pocket APR affecting fees not paid on an advance. This attribute will only be returned if the value is greater than zero.

🔹 PrepaidNF

Data TypeDefault
Currency0

The value of this attribute is the sum of all non-financed APR prepaid fees (APR affecting fees paid on the same date as an advance). This attribute will only be returned if the value is greater than zero.


🟥 <FedBox><RegZAPR>

Element TypeData Type
DataDecimal

The Regulation Z APR, which is the cost of the extension of credit expressed as a yearly rate. The Reg. Z APR element has a few attributes, described below:

Attributes: 🔹Max, 🔹MaxExceeded, 🔸Type

🔹 Max (decimal)

Data TypeDefault
Decimaln/a

This attribute specifies the maximum APR as specified in the request (see Max). If no maximum APR has been specified, then this attribute will not be present. The value of this attribute should be displayed as a percentage. As an example, for Max="36.000", you would disclose a maximum APR of 36.000%.

🔹 MaxExceeded

Data TypeValuesDefault
Booleantrue, falsefalse

If a maximum APR has been specified, then the value of this attribute indicates whether or not the current loan exceeds the maximum allowed APR. As an example, if the maximum APR has been set to 36% and the APR for the returned loan was 37.125%, the <RegZAPR> element would be:

<RegZAPR Type="Actuarial" Max="36.000" MaxExceeded="true">37.125</RegZAPR>`

🔸 Type

Data Type
Text

This attribute returns the name of the method used to compute the reported APR. The possible values are as follows: Actuarial, [Calendar Name] US Rule, EU_APR, Canadian_APR, Open_End, XIRR, XIRR360, IRR, YieldIRR, and NotComputed.


🟦 <FedBox><MAPR>

Element TypeData TypeDefault
DataCurrencyn/a

If the military APR has been requested (see the UseMAPR attribute of the <APR> element), then this element will be included in the output. The value of the element is the military APR, and the element has a few attributes, described below.

Attributes: 🔸Advance, 🔹Max, 🔹MaxExceeded

🔸 Advance

Data Type
Currency

This attribute is the equivalent of the Amount Financed for the Military APR. Specifically, it is the principal balance less any MAPR fees, debt protection, etc.

🔹 Max

Data TypeDefault
Currencyn/a

This attribute specifies the maximum Military APR as specified in the request (see the MAPR_Max attribute of the <APR> element). If not specified, a default value of 36% is assumed. The value of this attribute should be displayed as a percentage. As an example, for Max="36.000", you would disclose a maximum Military APR of 36.000%.

🔹 MaxExceeded

Data TypeValuesDefault
Booleantrue, falsefalse

The value of this attribute indicates whether or not the current loan exceeds the maximum allowed Military APR. As an example, if the maximum APR has been set to 36% and the Military APR for the returned loan was 37.125%, the <MAPR> element would be:

<MAPR Advance="1350.00" Max="36.000" MaxExceeded="true">37.125</MAPR>

🟦 <TILARESPA2015>

Element TypeData Type
Parent-

This element contains child elements which are of interest to fulfilling the 2015 TILA RESPA rule. It will only be present if the <TILARESPA2015> element is present in the request.

Sample TILARESPA2015 output:

<TILARESPA2015>
  <TotalLoanCosts>0</TotalLoanCosts>
  <CD_TotPmts>27311.07</CD_TotPmts>
  <In5Years PaidTotal="27311" PaidPrincipal="25000"/>
  <TIP>9.244</TIP>
  <MaxPnIPmt Date="2012-11-01">1636.65</MaxPnIPmt>
  <MinRate Idx="1">5.651</MinRate>
  <MaxRate Idx="1">5.651</MaxRate>
  <ProjectedPayments NumCols="3">
      <PPCol Num="1" Title="Year 1">
        <Years Start="1" End="1"/>
        <PnIPmt Min="636.65" Max="1636.65" IntOnly="none" Balloon="false"/>
        <MIPmt>0.00</MIPmt>
        <TotalPmt Min="636.65" Max="1636.65"/>
      </PPCol>
      <PPCol Num="2" Title="Year 2">
        <Years Start="2" End="2"/>
        <PnIPmt Min="636.65" Max="1636.65" IntOnly="none" Balloon="false"/>
        <MIPmt>0.00</MIPmt>
        <TotalPmt Min="636.65" Max="1636.65"/>
      </PPCol>
      <PPCol Num="3" Title="Year 3">
        <Years Start="3" End="3"/>
        <PnIPmt Min="636.65" Max="1636.65" IntOnly="none" Balloon="false"/>
        <MIPmt>0.00</MIPmt>
        <TotalPmt Min="636.65" Max="1636.65"/>
      </PPCol>
  </ProjectedPayments>
</TILARESPA2015>

Attributes: None


🟦 <TILARESPA2015><LoanCost>[]

Element TypeData Type
DataCurrency

For every <Fee> element present in the input which has its IsLoanCost attribute set to true (and hence, is a borrower paid loan cost) and whose amount is greater than zero (except odd days interest fee types, as explained in the previous documentation of the <Fee> input element), there will be a corresponding <LoanCost> element. The value of this element will be the numerical value of the fee, rounded to the nearest dollar.

Attributes: 🔹In5Years, 🔹Name

🔹 In5Years

Data TypeDefault
Currency<LoanCost>

If the entire amount of the fee is different from the amount collected over the first five years (for example, a service charge), then this attribute will be present and disclose the portion of this loan cost that is accrued during the first five years.

🔹 Name

Data TypeDefault
TextNULL

This attribute will hold the same value as the attribute of the same name for the <Fee> element. It is recommended that each fee have a unique Name for identification purposes.


🟥 <TILARESPA2015><TotalLoanCosts>

Element TypeData Type
DataCurrency

This element holds the sum of all borrower paid loan costs. Since all <LoanCost> element values are rounded dollar amounts, the value of this element will also be a rounded dollar amount.

Attributes: None


🟥 <TILARESPA2015><CD_TotPmts>

Element TypeData Type
DataCurrency

This element holds the sum of the total of payments, all borrower paid loan costs, and any odd days interest that is prepaid at loan closing. This value will be the numerical value of the sum.

Attributes: None


🟥 <TILARESPA2015><In5Years>

Element TypeData Type
Empty-

This element is empty, with all important values required for the new "In 5 Years" section returned in the following two attributes of this element.

Attributes: 🔸PaidPrincipal, 🔸PaidTotal

🔸 PaidPrincipal

Data Type
Currency

This attribute holds "the principal scheduled to be paid through the end of the 60th month after the due date of the first periodic payment". Note that this value is rounded to the nearest whole dollar.

🔸 PaidTotal

Data Type
Currency

This attribute holds the sum of all "principal, interest, mortgage insurance, and borrower paid loan costs scheduled to be paid through the end of the 60th month after the due date of the first periodic payment". Note that this value is rounded to the nearest whole dollar.


🟥 <TILARESPA2015><TIP>

Element TypeData Type
DataDecimal

The value of this element holds the total interest percentage, rounded to three or fewer decimal places, as required.

Attributes: None


🟥 <TILARESPA2015><MaxPnIPmt>

Element TypeData Type
DataCurrency

The value of this element holds the maximum scheduled principal and interest payment during the term of the loan.

Attributes: 🔸Date

🔸 Date

Data Type
Date

This attribute contains the date on which the maximum scheduled principal and interest payment is made. If the maximum scheduled payment occurs more than once, then the date returned is that of the first instance. All dates are in the form of YYYY-MM-DD, and must be 10 characters long.


🟥 <TILARESPA2015><MinRate>

Element TypeData Type
DataDecimal

The value of this element holds the minimum possible interest rate applied during the term of the loan.

Attributes: 🔸Idx

🔸 Idx

Data Type
Integer

This attribute contains the payment number for which the minimum rate is first applicable.


🟥 <TILARESPA2015><MaxRate>

Element TypeData Type
DataDecimal

The value of this element holds the maximum possible interest rate applied during the term of the loan.

Attributes: 🔸Idx

🔸 Idx

Data Type
Integer

This attribute contains the payment number for which the maximum rate is first applicable.


🟥 <TILARESPA2015><ProjectedPayments>

Element TypeData Type
Parent-

This element contains child elements which are of interest to filling the Projected Payments table. It will only be present if the <TILARESPA2015> element is present in the XML request for a supported loan type.

Attributes: 🔸NumCols

🔸 NumCols

Data TypeValues
Integer[1...4]

This attribute will hold the number of columns which must be present in the Projected Payments table. It will be a numeric value from 1 to 4.


🟥 <ProjectedPayments><PPCol>[]

Element TypeData Type
Parent-

For every column required in the Projected Payments table, there will be an associated <PPCol> element. This element is a parent to child elements which contain data associated with a single column of the table.

Attributes: 🔸Num, 🔸Title

🔸 Num

Data TypeValues
Integer[1...4]

This attribute will hold the number of the column to which the following data applies.

🔸 Title

Data Type
Text

The value of this attribute is the title for the column. Most of the time, it will be in the form of Years X - Y, or Year X, or Final Payment in the case of a final balloon payment.


🟥 <ProjectedPayments><PPCol><Years>

Element TypeData Type
Empty-

The attributes of this element hold the beginning and ending year numbers for which this column data applies. The element itself is empty.

Attributes: 🔸End, 🔸Start

🔸 End

Data Type
Integer

The ending year associated with this column's data.

🔸 Start

Data Type
Integer

The beginning year associated with this column's data.


🟥 <ProjectedPayments><PPCol><PnIPmt>

Element TypeData Type
Empty-

This empty element has several attributes which describe the principal and interest payments associated with this column.

Attributes: 🔸Balloon, 🔸IntOnly, 🔸Max, 🔸Min

🔸 Balloon

Data TypeValues
Booleantrue, false

If any of the payments associated with this column are balloon payments (e.g. isolated payments that are more than twice the value of a regular periodic payment), then the value of this attribute will be true.

🔸 IntOnly

Data TypeValues
Enumall, some, none
  • none - No payments associated with the column are Interest Only
  • some - Some, but not all, of the payments associated with the column are Interest Only.
  • all - All of the payments associated with the column are Interest Only.

Note that for the purposes of this attribute, a scheduled payment is considered an interest only payment if the payment amount pays off all interest due at the time of the payment, with no reduction in the principal balance.

🔸 Max

Data Type
Currency

This attribute holds the maximum principal and interest payment for this column. If this value is not the same as the value of the Min attribute, then a range of rounded payments must be displayed. If the values are the same, then only a single value needs to be disclosed.

🔸 Min

Data Type
Currency

This attribute holds the minimum principal and interest payment for this column.


🟥 <ProjectedPayments><PPCol><MIPmt>

Element TypeData Type
DataCurrency

The value of this element holds the mortgage insurance premium associated with this column, rounded to the nearest dollar. If no mortgage insurance is present or coverage has been dropped, a value of zero will be present.

Attributes: None


🟥 <ProjectedPayments><PPCol><TotalPmt>

Element TypeData Type
Empty-

This empty element has two attributes which describe the estimated total payment or range of payments associated with this column. Note that this value does not include any estimated escrow, as the SCEX does not support escrow calculations. The calling application will need to increase these values by the estimated escrow amounts if any are present.

Attributes: 🔸Max, 🔸Min

🔸 Max

Data Type
Currency

This attribute holds the maximum estimated total payment for this column. If this value is not the same as the value of the Min attribute, then a range of rounded payments must be displayed. If the values are the same, then only a single value needs to be disclosed.

🔸 Min

Data Type
Currency

This attribute holds the minimum estimated total payment for this column.


🟥 <Moneys>

Element TypeData Type
Parent-

This element groups together those other major cash amounts not disclosed under the <FedBox> element, such as the principal balance, interest change, fee amounts and debt protection premiums.

<Moneys>
  <Principal>10120.00</Principal>
  <Interest>1635.80</Interest>
  <OddDaysPrepaid OddDayCount="15" DailyCost="2.77">41.55</OddDaysPrepaid>
  <FinFees>120.00</FinFees>
  <FinChgFees>91.55</FinChgFees>
  <PocketFees>65.00</PocketFees>
  <MAPRFees>201.55</MAPRFees>
  <Protection Category="None" PerPmt="0.00" PerDay="0.00">0.00</Protection>
  <Fee Name="FinFee">60.00</Fee>
  <Fee Name="MAPR FinFee">60.00</Fee>
  <Fee Name="Prepaid Fee">50.00</Fee>
  <Fee Name="MAPR Pocket Fee">50.00</Fee>
  <Fee Name="Pocket Fee">15.00</Fee>
</Moneys>

Attributes: None


🟥 <Moneys><Proceeds>

Element TypeData Type
DataCurrency

This element contains the sum of all <Advance> amounts.

Attributes: None


🟥 <Moneys><Principal>

Element TypeData Type
DataCurrency

The principal balance is the amount on which interest is accrued. The principal balance consists of the amount requested by the borrower, any fees which are financed, as well as financed protection premiums.

Attributes: None


🟥 <Moneys><Interest>

Element TypeData Type
DataCurrency

This element contains the total interest accrued during the term of the loan, assuming the borrower will make all scheduled payments.

Attributes: None


🟦 <Moneys><FinFees>

Element TypeData TypeDefault
DataCurrency0

This element contains the sum of all <Fee> elements having AddToPrin set to true and occuring the date of an advance. If this element's value is zero, it will not show up in the results.

Attributes: None


🟦 <Moneys><Prepaid>

Element TypeData TypeDefault
DataCurrency0

This element represents all prepaid finance charges and contains the sum of all <Fee> elements occurring on an advance and having AddToFinChg set to true. If this element's value is zero, it will not show up in the results.

Attributes: None


🟦 <Moneys><OthNonAPRFees>

Element TypeData TypeDefault
DataCurrency0

This element contains the sum of all <Fee> elements having AddToPrin set to true not occuring the date of an advance. If this element's value is zero, it will not show up in the results.

Attributes: None


🟦 <Moneys><ServiceChg>

Element TypeData TypeDefault
DataCurrency0

This element represents all service charge <Fee> elements and contains the sum of all fees not occurring on an Advance and having AddToFinChg set to true. If this element's value is zero, it will not show up in the results.

Attributes: None


🟦 <Moneys><PocketFees>

Element TypeData TypeDefault
DataCurrency0

This element holds the sum of all fees which are neither financed, nor added to the finance charge. In essence, they are paid out of the borrower’s pocket. If no out-of-pocket fees were requested, then this element will not show up in the XML output.

Attributes: None


🟦 <Moneys><MAPRFees>

Element TypeData TypeDefault
DataCurrency0

This element holds the sum of all fees which are Military APR fees (including protection products), and will only appear if the Military APR has been requested.

Attributes: None


🟦 <Moneys><BalAdjusts>

Element TypeData TypeDefault
DataCurrency0

The sum of all balance adjustments (see <BalAdj>) is reported in this element.

Attributes: None


🟦 <Moneys><ConInterest>

Element TypeData TypeDefault
DataCurrency0

If the requested loan is a construction loan with a permanent loan attached and the account specified is set up to compute construction loans via the 'Simple' method, then this element will contain the construction interest for the requested loan.

Note that if a permanent loan is attached to a construction loan and the account is set up to use the 'LaserPro' method, then the construction and permanent loans are combined into a single loan, with the construction (and permanent) loan's interest being reflected in the <Interest> element, and both loans reflected in a single, combined amortization schedule.

If the requested loan was not a construction loan, or if construction loans have not been set up for the given account, then this element will not appear in the results.

Attributes: 🔸IsPrepaid

🔸 IsPrepaid

Data TypeValues
Booleantrue, false

If the construction interest is disclosed as interest only payments in the amortization schedule, then the value of this attribute will be set to false. Otherwise, the value of this attribute will be set to true.


🟦 <Moneys><OddDaysPrepaid>

Element TypeData TypeDefault
DataCurrency0

This element, if present, holds the total odd days prepaid finance charge. If no odd days prepaid fee was requested, then this element will not be present in the output.

Attributes: 🔹AddToPmt, 🔹DailyCost, 🔸OddDayCount, 🔹OddMonths

🔹 AddToPmt

Data TypeValuesDefault
Booleantrue, falsefalse

If the odd days interest has been added to the first payment, this attribute will be present in the output with a value of true. If the odd days interest has been treated as a prepaid finance charge, then this attribute will not be present and a default value of false should be assumed.

🔹 DailyCost

Data TypeDefault
Currencyn/a

If the odd days prepaid fee is computed using a rounded daily cost, then the value of this attribute will hold that value. If the odd days prepaid is not computed using a rounded daily cost, then this attribute will not be present.

🔸 OddDayCount

Data Type
Integer

This attribute holds the number of odd days computed by the SCE for the requested loan.

🔹 OddMonths

Data TypeDefault
Integern/a

This attribute holds the number of odd months computed by the SCE for the requested loan when using odd days accrual method 250.


🟦 <Moneys><MinIntChgAdj>

Element TypeData TypeDefault
DataCurrency0

If a minimum interest charge was requested and the final payment was adjusted to meet this minimum interest charge, then this element will be returned in the response and will contain the value of the minimum finance charge adjustment.

Attributes: None


🟦 <Moneys><MinFinChgAdj>

Element TypeData TypeDefault
DataCurrency0

If a minimum finance charge was requested and the final payment was adjusted to meet this minimum finance charge, then this element will be returned in the response and will contain the value of the minimum finance charge adjustment.

Attributes: None


🟦 <Moneys><MortIns>

If mortgage insurance was requested and not of the single premium variety, then this element will return the

Attributes: None


🟦 <Moneys><Advance>[]

Element TypeData TypeDefault
DataCurrencyn/a

If the returned loan computed any advance amounts (see the Compute attribute of the <Advance> input element for more information), then for each advance in the loan there will be an <Advance> element containing the computed advance amount.

If all of the loan's advances were specified and not computed, then there will not be any <Advance> elements found in the Loan Builder response.

Attributes: 🔸Date

🔸 Date

Data Type
Date

Contains the date on which the advance is made.


🟦 <Moneys><Fee>[]

Element TypeData TypeDefault
DataCurrencyn/a

For each non-zero <Fee> requested in the loan calculation, there will be a <Fee> element containing the computed fee amount.

Attributes: 🔹Name

🔹 Name

Data TypeDefault
Textn/a

Contains the value of the Name attribute of the corresponding <Fee> element from the request. If no such attribute is present in the input element, then none will be present in the output element.


🟥 <Accrual>

Element TypeData Type
Parent-

This element groups together interest accrual information, such as the accrual method used, days to the first payment, and the loan’s maturity date.

<Accrual>
  <Method>Actual/365 USRule</Method>
  <Days1Pmt DayCount="Actual">31</Days1Pmt>
  <Maturity>2025-12-01</Maturity>
</Accrual>

Attributes: None


🟥 <Accrual><Method>

The <Method> element contains a text description of the interest accrual method used to compute the loan (e.g. Unit Period 365 Simple).

Attributes: None


🟥 <Accrual><Days1Pmt>

Element TypeData Type
DataInteger

This element contains the number of days to the first payment, computed by one of two methods as specified in this element’s sole attribute.

Attributes: 🔸DayCount

🔸 DayCount

Data TypeValues
EnumActual, True360
  • Actual - The actual number of days between these two dates are used. 31 would be the day count for the period between 2024-01-01 and 2024-02-01.
  • True360 - All months have 30 days. 30 would be the day count for the period between 2024-01-01 and 2024-02-01.

🟥 <Accrual><Maturity>

Element TypeData Type
DataDate

Holds the maturity date of the loan, which is the date on which the last payment is scheduled. All dates are in the form of YYYY-MM-DD, and must be 10 characters long. Hence, a maturity date of February 15, 2020 would be specified as:

<Maturity>2020-02-15</Maturity>

Attributes: None


🟥 <PmtStream>[]

Element TypeData Type
Empty-

The <PmtStream> element(s) describe the scheduled stream of payments for the computed loan in the order paid. Instead of disclosing each and every payment individually (which is done in the <AmTable> element), the payment streams group together consecutive equal payments to produce a compressed output view.

The following code translates to "Twelve consecutive payments of $879.31 computed at 10.000% that begin on January 22nd, 2024".

<PmtStream Term="12" Pmt="879.31" Rate="10.000" Begin="2024-01-22"/>

Each element describes a single stream of equal payments, using the following attributes to define the important properties of each resulting payment stream:

Attributes: 🔸Begin, 🔹Idx, 🔹IsSplitRate, 🔸Pmt, 🔹PPY, 🔸Rate, 🔸Term

🔸 Begin

Data Type
Date

This attribute contains the date on which the first payment for this given payment stream is scheduled. All dates are in the form of YYYY-MM-DD, and must be 10 characters long. In the example above, the payment stream is scheduled to begin on January 22, 2024. Hence, the Begin attribute for the first payment stream element would be specified as Begin="2014-01-22".

🔹 Idx

Data TypeDefault
Integern/a

If the value of the request's TagPmts attribute is set to true, then this attribute will appear for each <PmtStream> element. The value of this attribute identifies which input payment stream element gave rise to it.

If the value of this attribute is -1, then perfect amortization was enforced (e.g. the AmError attribute of the <BusinessRules> input element is set to Allow).

If the value of this attribute is -2, then an early payoff event was triggered, which is caused by (i) specifying the EarlyPayoffDate attribute of the <EditOutput> input element, or (ii) using whole dollar rounding which can shorten the specified term of the loan, or (iii) specifying a fixed or minimum payment amount which also may shorten the specified term of the loan.

🔹 IsSplitRate

Data TypeValuesDefault
Booleantrue, falsefalse

If this payment stream accrued interest using split-rate tiers, then this attrbute will be present and set to true. Otherwise, this attribute will not be returned and has a value of false.

🔸 Pmt

Data Type
Currency

The Pmt attribute contains the computed payment amount for this payment stream. For the sample payment stream above, the payment is 879.31.

🔹 PPY

Data TypeValuesDefault
Integer1, 2, 4, 6, 12, 24, 26, 52n/a

If the Term attribute's value is greater than one, then the periodic payment frequency for this payment stream is also disclosed.

🔹 Rate

Data TypeDefault
Decimalsee below

Contains the interest rate used for the duration of this payment stream. Usually, the interest rate will remain fixed for the duration of the loan unless you are computing an adjustable rate loan or you are computing a LaserPro construction loan with permanent loan attached. If this payment stream accrued interest using split-rate tiers (see <EditInterest><Tier>, then this attrbute will not be returned.

🔸 Term

Data Type
Integer

The Term attribute holds the number of contiguous payments that make up the given payment stream. In the example payment streams above, the term for the payment stream is 12.


🟦 <Mortgage_Insurance>

Element TypeData Type
Parent-

If mortgage insurance is present on the requested loan, then this element and all required child elements (documented below) will be included in the response.

Attributes: None


🟥 <Mortgage_Insurance><MI_Rate>

Element TypeData Type
Empty-

Attributes of this empty element disclose the rate, premium per year, and premium per period.

Attributes: 🔸PremiumPerPeriod, 🔸PremiumPerYear, 🔸Rate

🔸 PremiumPerPeriod

Data Type
Currency

The periodic mortgage insurance premium amount.

🔸 PremiumPerYear

Data Type
Currency

The annual mortgage insurance premium amount.

🔸 Rate

Data Type
Decimal

The percentage rate used in the mortgage insurance calculation.


🟦 <Mortgage_Insurance><UpFront>

Element TypeData TypeDefault
DataCurrency0

The value of this element represents the up front fee paid for mortgage insurance. If there is no up front fee, then this element will not be present in the response.

Attributes: None


🟦 <Mortgage_Insurance><Periodic>

Element TypeData Type
Empty-

Attributes of this empty element provide the loan to value ratio, as well as the payment indexes when the principal balance falls below the specified DropLTV and WarnLTV percentage values. This element is only present if a corresponding <Periodic> element is found in the XML request.

Attributes: 🔸IndexToDrop, 🔸IndexToWarn, 🔸LTV

🔸 IndexToDrop

Data Type
Integer

The value of this attribute indicates the payment index on which the remaining principal balance to home value ratio drops below the specified DropLTV percentage. Mortgage insurance coverage stops after this payment.

🔸 IndexToWarn

Data Type
Integer

The value of this attribute indicates the payment index on which the remaining principal balance to home value ratio drops below the specified WarnLTV percentage.

🔸 LTV

Data Type
Decimal

The loan to value ratio of the computed loan, expressed as a percentage.


🟦 <Protection>

Element TypeData Type
Parent-

If protection products are requested, then this element will be present in the output, along with <Product> child elements detailing each requested protection product.

Attributes: 🔸LoanType, 🔹Path

🔸 LoanType

Data TypeValues
EnumltEqual, ltBalloon, ltSinglePay, ltIntOnly, ltPrinPlus, ltSkipsIrregs, ltSkipsPickups, ltARM, ltCommercial, ltHighlyIrregular

Protection products are often limited to certain types of loan repayment schedules, such as regular equal and balloon payment loans. Also, different formulas and various other settings may be used for different loan repayment types.

The value of this attribute returns the type of loan repayment schedule that the SCE determines after analyzing the computed loan's repayment structure.

🔹 Path

Data TypeDefault
Textn/a

This optional attribute will hold the value of the data path used by the SCEX to find the required setup files for protection calculations. This attribute will only be present if the ShowDataPath attribute of the request <Protection> element is set to true.


🟥 <Protection><Product>[]

Element TypeData Type
Parent-

For each distinct payment protection product that the calling application requested with a loan, a <Product> element (along with child elements) will be returned. Note that no child elements will be present unless the Result attribute of this element is Full or Partial. If coverage is dropped, no child elements will be present.

Attributes: 🔸Abbrev, 🔸Code, 🔸DropCode, 🔸DropReason, 🔸Formula, 🔹IsDP, 🔸Name, 🔹RateType, 🔸Result, 🔹Table

🔸 Abbrev

Data Type
Decimal

The abbreviation for the product as stored in its corresponding setup file.

🔸 Code

Data TypeValues
EnumLI, LL, AH, IU, PP

This attribute defines the type of payment protection product that this element, and all child elements, refers to. It mirrors the request <Product> element's Code attribute defined earlier in the input section, with the addition of the LL code which indicates a level credit life product.

  • LI - Life
  • LL - Level Life
  • AH - Accident & Health (Disability)
  • IU - Involuntary Unemployment
  • PP - Personal Property

🔸 DropCode

Data Type
Integer

If the requested protection was dropped by the SCEX for any reason, then the value of this attribute will be greater than zero. In this case, no child elements of <Product> will be present.

A value of zero indicates that the requested product was included with the loan, and as such, the child elements of <Product> which describe the coverage details, should be parsed. Please see the table which lists each drop code and reason.

Please see the table of drop codes for a full list of all codes and their associated reasons.

🔸 DropReason

Data Type
Text

If the requested protection product was successfully included in the loan, then the value of this attribute will be Valid Calculation and corresponds to a DropCode value of 0.

If the requested protection was dropped by the SCEX for any reason (and hence, the value of DropCode is greater than 0), then this attribute will provide a brief description of why the protection was dropped. Please see the table which lists each drop code and reason.

Please see the table of drop codes for a full list of all codes and their associated reasons.

🔸 Formula

Data Type
Text

The Formula attribute contains an abbreviated description of the formula used to compute the desired protection product. The formula codes are for the use of the J. L. Sherman and Associates, Inc. support team.

Please refer to the table of formula codes for more information.

🔹 IsDP

Data TypeValuesDefault
Enumtrue, falsefalse

This attribute indicates if the product has been set up as debt protection. If this attribute is not present, then the default value of false should be used (which indicates that the product has been set up as insurance instead).

🔸 Name

Data Type
Text

The full name of the product as stored in its corresponding setup file.

🔹 RateType

Data TypeValuesDefault
EnumFixed, VariableFixed

This attribute will only be present in the output if the protection product has been configured to allow for coverage to switch from joint to single during the term of coverage, should one of the borrowers exceed an age at termination cap. If the attribute is not present, then a value of Fixed should be assumed as only one rate has been used in the protection calculation.

If this attribute is present, then there is the possibility that the rate used to compute the protection may have changed (in the case of coverage for one borrower ending while coverage for the other borrower continues). If this is the case, then the attribute will indicate this rate change with a value of Variable.

🔸 Result

Data TypeValues
EnumFull, Partial, Drop

The value of this attribute informs the calling application if the requested coverage has been fully provided, partially provided (i.e. one or more coverage caps have been exceeded and partial coverage has been extended), or completely dropped. If coverage has been dropped, then the <Product> element will not have any child elements.

  • Full - Full coverage
  • Partial - Partial coverage of some kind has been imposed on the loan.
  • Drop - Coverage has been dropped.

🔹 Table

Data TypeDefault
Textn/a

AH protection is usually associated with a particular table of rates, such as "30 Day Retro". The name of the rate table being used is stored in this attribute.


🟦 <Protection><Product><Note>[]

Element TypeData TypeDefault
DataTextn/a

The following notes may appear in the XML output to further clarify the calculation methodology. Each note is associated with a numeric code and text return value. Each will be further described in the list below:

CodeDescription
1Benefit is Minimum Payment over term of coverage. When computing a loan with skipped, pickup, or irregular payments, there are a few different ways one can compute a benefit amount. This method uses the minimum non-zero payment as the benefit.
2Benefit is Average Payment over term of coverage (excludes zero payments). Similar to above, this method uses the average of all non-zero payments over the term of coverage as the benefit.
3Benefit is the Computed Payment. Similar to above, this method uses the computed payment as the benefit.
4Benefit is True Average Payment over term of coverage (includes zero payments). Similar to above, this method uses the average of all payments over the term of coverage, including skips, as the benefit.
5Protection factor uses days per period conversion. The protection calculation has converted the periodic rate to a daily rate.
6Switch to Rate Set two. The protection calculation has switched to the second set of rates.
7Switch method to Net. The protection calculation has switched to net coverage.
8Switch method to Ordinary Life. The protection calculation has switched to ordinary life coverage.

Attributes: 🔸Code

🔸 Code

Data Type
Integer

The unique integer identifying the protection product <Note> in question. This Code may be useful if the calling application would like to override the default description or check for a given <Note> element's Code.


🟦 <Protection><Product><Cost>

Element TypeData Type
Empty-

A breakdown of the cost for protection is provided by the attributes of this element.

<Cost Premium="827.26" PerPmt="19.28" PerDay="0.63" Factor="1.0154"/>

Attributes of this empty element provide the cost of the protection product in total, per payment, and per day. It also provides the rate factor used to compute the premiums.

The only time there will be two <Cost> elements to parse is when the account has been set up to use Plateau’s Uniguard product, and the user has requested joint coverage. If this is the case, then two <Cost> elements are provided to disclose two premiums instead of a single aggregate joint premium.

Attributes: 🔹Factor, 🔸PerDay, 🔸PerPmt, 🔸Premium, 🔸Rate

🔹 Factor

Data TypeDefault
Decimaln/a

The rate factor used to compute the premium for the requested protection product. Note that this attribute is only present if the ShowFactor attribute of the associated <Product> request element is set to true.

🔸 PerDay

Data Type
Currency

The daily cost of coverage, expressed as currency.

🔸 PerPmt

Data Type
Currency

The cost of coverage expressed as currency per payment.

🔸 Premium

Data Type
Currency

The total cost for this protection over the term of the loan.

🔸 Rate

Data Type
Decimal

The rate factor used to compute the premium for the requested protection product.


🟦 <Protection><Product><Coverage>

Element TypeData Type
Empty-

The aggregate coverage amount and note are provided in the following attributes of this empty element

Attributes: 🔸Amount, 🔸Code, 🔸Note

🔸 Amount

Data Type
Currency

Attribute which contains the aggregate coverage amount for this protection product.

🔸 Code

Data Type
Integer

If the requested protection was capped by the SCE for any reason, then the value of this attribute will be greater than zero. A value of zero indicates that the requested product was included with the loan for the full coverage amount of the loan.

🔸 Note

Data Type
Text

The value of theNote attribute will describe the type of coverage provided. If full coverage has been provided on the aggregate coverage, then the value will be Full Coverage. Otherwise, the note will describe the type of partial coverage used.


🟦 <Protection><Product><Benefit>

Element TypeData Type
Empty-

Disability and involuntary unemployment products require dislcosure of the benefit amount.

Attributes: 🔸BenMon, 🔸BenPer, 🔸Code, 🔸Note

🔸 BenMon

Data Type
Currency

Attribute which contains the monthly benefit amount for this protection product.

🔸 BenPer

Data Type
Currency

Attribute which contains the periodic benefit amount for this protection product.

🔸 Code

Data Type
Integer

If the requested protection was capped by the SCE for any reason, then the value of this attribute will be greater than zero. A value of zero indicates that the requested product was included with the loan for the full coverage amount of the loan.

🔸 Note

Data Type
Text

This Note will describe the type of coverage provided. If full coverage has been provided on the aggregate coverage, then the note will contain Full Coverage. Otherwise, the note will describe the type of partial coverage used.


🟦 <Protection><Product><Borrower>[]

Element TypeData Type
Empty-

This empty element provides the calling application with data about the term of coverage of a specified borrower, for the requested product. The following attributes are defined for this purpose:

Attributes: 🔸AgeAtIssue, 🔸AgeAtMaturity, 🔹AmMonths, 🔸Birthday, 🔸Code, 🔸Maturity, 🔸Note, 🔸Months, 🔸Pmts

🔸 AgeAtIssue

Data Type
Special

If coverage is written on this borrower, then the value of this attribute represents the age at issue of the borrower in a special date-like format of YYYY-MM-DD, where the borrower is YYYY years, MM months, and DD days old when coverage begins.

🔸 AgeAtMaturity

Data Type
Special

If coverage is written on this borrower, then the value of this attribute represents the age at maturity of the borrower in a special date-like format of YYYY-MM-DD, where the borrower is YYYY years, MM months, and DD days old when coverage terminates.

🔹AmMonths

Data TypeDefault
Integern/a

This attribute will only be returned when the protection product is configured to use TruStage's single premium formula #5, and contains the computed amortization term used in the premium computation.

🔸 Birthday

Data Type
Date

This attribute contains the birthday associated with the borrower, as specified in the request. All dates are in the form of YYYY-MM-DD, and must be 10 characters long.

🔸 Code

Data Type
Integer

If the requested protection was capped by the SCEX for any reason, then the value of this attribute will be greater than zero. A value of zero indicates that the requested product was included with the loan for the full coverage amount of the loan.

🔸 Maturity

Data Type
Date

The value of this attribute contains the coverage maturity date for this particular borrower.

🔸 Note

Data Type
Text

This Note will describe the type of coverage provided. If full coverage has been provided on the aggregate coverage, then the note will contain Full Coverage. Otherwise, the note will describe the type of partial coverage used.

🔸 Months

Data Type
Integer

Contains the term of coverage expressed as a number of months.

🔸 Pmts

Data Type
Integer

Contains the term of coverage expressed as a number of payments.


🟦 <Protection><Product><Caps>

Element TypeData Type
Empty-

This empty element provides the calling application with data about the maximum terms, amounts, and ages associated with the requested product.

Attributes: 🔹AttainAge, 🔹Benefit, 🔹BenPer, 🔹Coverage, 🔹InceptAge, 🔹Term, 🔹TermPer

🔹 AttainAge

Data TypeDefault
Integern/a

Contains the maximum age a borrower may attain during the term of the loan, expressed in years. If no cap is present or applicable, then then this attribute will not be present.

🔹 Benefit

Data TypeDefault
Currencyn/a

Contains the maximum monthly benefit amount, expressed as currency. If no cap is present or applicable, then this attribute will not be present.

🔹 BenPer

Data TypeDefault
Currencyn/a

Contains the maximum periodic benefit amount, expressed as currency. If no cap is present or applicable, or if the payment frequency of the requested loan is monthly, then this attribute will not be present.

🔹 Coverage

Data TypeDefault
Currencyn/a

Contains the maximum aggregate coverage amount, expressed as currency. If no cap is present or applicable, then this attribute will not be present.

🔹 InceptAge

Data TypeDefault
Integern/a

Contains the maximum age a borrower may be at loan inception, expressed in years. If no cap is present or applicable, then this attribute will not be present.

🔹 Term

Data TypeDefault
Integern/a

Contains the maximum coverage term, expressed in months. If no cap is present or applicable, then this attribute will not be present.

🔹 TermPer

Data TypeDefault
Integern/a

Contains the maximum coverage term, expressed as a number of payments. If no cap is present or applicable, or if the payment frequency of the requested loan is monthly, then this attribute will not be present.


🟦 <AmTable>

Element TypeData Type
Parent-

This element (if present) contains child elements which describe the loan's amortization information. This element (and all of its child elements) will be present unless the ShowAmTable attribute of the <EditOutput> element is set to false.

The following <AmTable> Attributes will only occur if a Canadian APR was computed as part of the loan.

Attributes: 🔹AvgBal, 🔹Months, 🔹OddDays, 🔹Weeks

🔹 AvgBal

Data TypeDefault
Currencyn/a

This attribute will only appear if a Canadian APR is disclosed for the computed loan. The value of this attribute is the average balance of the loan used in the Canadian APR calculation.

🔹 Months

Data TypeDefault
Integern/a

This attribute will only appear if a Canadian APR is disclosed for the computed loan. The value of this attribute is the whole number of months in the term of the loan used in the Canadian APR calculation. Note that the term is expressed in monthly or weekly units, but never both.

🔹 OddDays

Data TypeDefault
Integern/a

This attribute will only appear if a Canadian APR is disclosed for the computed loan. The value of this attribute is the number of odd days in the term of the loan used in the Canadian APR calculation. Odd days are computed by moving backwards from the maturity date the number of disclosed months or weeks, and then counting the additional number of days required to land on the loan date.

🔹 Weeks

Data TypeDefault
Integern/a

This attribute will only appear if a Canadian APR is disclosed for the computed loan. The value of this attribute is the whole number of weeks in the term of the loan used in the Canadian APR calculation. Note that the term is expressed in monthly or weekly units, but never both.


🟦 <AmTable><GrandTotals>

Element TypeData Type
Empty-

Describes the total amounts of various categories throughout the life of the loan. As an example, the total amount paid to interest and principal, as well as the total of payments are all contained in the following attributes:

<GrandTotals PmtTot="10551.72" IntTot="551.68" PrinTot="10000.04"/>

Attributes: 🔸IntTot, 🔸PmtTot, 🔸PrinTot

🔸 IntTot

Data Type
Currency

Contains the sum of all interest attributes in the AmLine elements. This amount will differ from the <Moneys><Interest> element if there is a nonzero EndBal for the final line of amortization. The two will differ by this non-zero EndBal.

🔸 PmtTot

Data Type
Currency

Contains the total of payments scheduled for the computed loan.

🔸 PrinTot

Data Type
Currency

Like IntTot above, this attribute contains the total amount paid to principal during the loan term, assuming all payments are made as scheduled.


🟦 <AmTable><SubTotals>[]

Element TypeData Type
Empty-

Describes the total amounts of various categories paid during a given calendar year. For each year in which the computed loan has scheduled payments, there will be a <SubTotals> element present. The element itself is empty, as all the interesting data is found in the following attributes:

<SubTotals Year="2024" Start="1" Events="12" 
  PmtSub="10551.72" IntSub="551.68" PrinSub="10000.04"/>

Attributes: 🔸Events, 🔸IntSub, 🔸PmtSub, 🔸PrinSub, 🔸Start, 🔸Year

🔸 Events

Data Type
Integer

This attribute defines the number of amortization events (contained in <AmLine> elements which are defined below) which belong to this calendar year.

🔸 IntSub

Data Type
Currency

Holds the total amount paid to interest over the year in question, assuming all payments are made as scheduled.

🔸 PmtSub

Data Type
Currency

Contains the total of payments scheduled for the year in question.

🔸 PrinSub

Data Type
Currency

Like IntSub above, this attribute contains the total amount paid to principal during the year in question, assuming all payments are made as scheduled.

🔸 Start

Data Type
Integer

This attribute defines the first amortization event which falls in the specified calendar year. To find the <AmLine> element which corresponds to this value, match the Idx attribute of the <AmLine> element with the integer value reported by this attribute.

🔸 Year

Data Type
Integer

The given calendar year for which the subtotal data is applicable.


🟥 <AmTable><AmLine>[]

Element TypeData Type
Empty-

There is one <AmLine> element for each amortization event which occurs during the life of a loan. Most of the time, each event will describe a payment, and detail how that payment is applied (to interest, principal, loan protection products, etc.) However, some loan protection methods (TruStage's monthly renewable product, to be exact) have amortization events which correspond to loan protection premiums being added to the loan balance on specific dates.

<AmLine Idx="1" Date="2024-01-01" BegBal="10000.00" 
  Pmt="879.31" Int="84.93" Prin="794.38" EndBal="9205.62"/>

As with the <GrandTotals> and <SubTotals> elements, this element is empty and contains all of the useful information for a given point in the amortization of a loan in the following attributes.

Attributes: 🔸BegBal, 🔸Date, 🔸EndBal, 🔹FeeTot, 🔸Idx, 🔸Int, 🔸Pmt, 🔹PmtEsc, 🔸Prin, 🔹ProtUnpaid, 🔹Type, 🔹UnpaidInt

🔸 BegBal

Data Type
Currency

The principal balance before the amortization event occurs.

🔸 Date

Data Type
Date

The date on which the amortization event is scheduled to occur. All dates are in the form of YYYY-MM-DD, and must be 10 characters long.

🔸 EndBal

Data Type
Currency

The principal balance amount, after the amortization event has taken place.

🔹 FeeTot

Data TypeDefault
Currency0

The total of all fees paid at this event.

🔸 Idx

Data Type
Integer

The index of the amortization event, which is either the payment number, or zero. A value of zero designates a protection premium that was charged on a date other than a payment date. (Occurs with protection category TrueMOB).

🔸 Int

Data Type
Currency

The amount of the payment which goes to pay interest.

🔸 Pmt

Data Type
Currency

The amount of the payment (or zero if the event is a True MOB protection premium).

🔹 PmtEsc

Data TypeDefault
Currencyn/a

If the computed loan is an annual rest mortgage, then the sum of escrowed payments for each amortization event will appear in this attribute. If the computed loan is not an annual rest mortgage, then this attribute will not be returned.

🔸 Prin

Data Type
Currency

The amount of the payment which goes to reduce the principal balance.

🔹 ProtUnpaid

Data TypeDefault
Currency0

If the loan includes escrowed True MOB protection products, and if a payment is not sufficient to pay the accrued fees, then any unpaid protection fees will be carried forward in this attribute to be paid off as soon as possible in a future payment.

🔹 Type

Data TypeDefault
Textn/a

The type of event is recorded in this attribute, such as Advance or FixedPmt. If any fees are included in the loan, then the value of this attribute for those fee events will be the Name of the fee, as specified in the request.

🔹 UnpaidInt

Data TypeDefault
Currencyn/a

This attribute will only appear on an amortization line when interest has been accrued, but has not yet been paid or added to the principal balance. If the interest accrued has not yet been rounded, then the unpaid interest will be displayed to four (4) decimal places. If rounded, then the unpaid interest is displayed to two (2) decimal places.