R: Derived Attributes

Derived Attributes of Classes with “R”

Product line

Standard

|

Expert

Operating mode

CLOUD ABO

|

ON-PREMISES

Modules

Services & CRM

Budget & Phases

Purchases

Resource Planning

Business Intelligence

Created: 24.11.2006
Updated: 04.10.2023 | VESR-relevant values removed with version 6.7

For a list of all Derived Attributes, see Derived Attributes.

invoice

ExpensesExt
VtcCurrency
  • If the invoice is open: Sum of Totalexpenses.Valueext
  • If the invoice has been charged: verrAuslagenExt
ExpensesExtWith VAT
VtcCurrency ExpendituresExt + ExpendituresVAT
ExpenditureInt
VtcCurrency Sum of all totalexpenditures.ValueInt
Expenditure VAT
VtcCurrency Sum VAT Amount from all Total Expenses.
AmountPaid
VtcCurrency Total of all payments.Amount
AmountGross
VtcCurrency BenefitsExpensesExtWith VAT + Advance Amount + Advance VAT
Amount of VAT
VtcCurrency AmountGross – AmountNet
AmountNet
VtcCurrency Net amount before deduction of advances
AmountOpen
VtcCurrency Total – AmountPaid
Booking address
ObjectReference

From version 6.4.0.17. This always returns the address to be used when posting. The Property rechnung.personenkonto then always provides the Personalaccnum of rechnung.buchungsadresse . This corresponds to rechnung.rechnungsadresse , unless this is a contact. Then the contact’s company is used instead. If blank, a new address is written and the personal account number is entered on rechnung.buchungsadresse registered.

Posting document
ObjectReference Method that creates a posting document (post) with attached postings (transient) based on invoice and invoice totals.
CompanyAddress
VtcString

verrCompanyAddress, if available, otherwise: payment type.companyAddress.standardaddress

CompanyAddress text
VtcString verrCompanyAddress text, if available, otherwise: payment type.companyAddress.address text
CompanyLand
VtcString verrCompanyCountry, if any, otherwise: payment type.companyAddress.standardcountry
CompanyVat No.
VtcString verrCompanyVAT number, if any, otherwise: payment type.companyAddress.VAT number
Company
VtcString verrCompanyName, if any, otherwise: payment type.companyAddress.fullname
CompanyPlace
VtcString verrCompanyPlace, if any, otherwise: payment type.companyAddress.standardplace
CompanyPLZ
VtcString verrCompanyPLZ, if any, otherwise: payment type.companyAddress.standardplz
DebiCondition
ObjectReference
  • If xDebiKondition is set (a payment term has been explicitly assigned on the invoice), this value is taken.
  • If xDebiKondition is empty, the value inherits from Project.debiKondition (see PO: Derive Attributes).
DebiCourse
float Calculates the course for the invoice relative to the client currency (instead of the key currency). The debtor interfaces use this course for posting invoices. Deviate clients in Vertec are usually configured via project type. If the project type of the invoice project has a separate client and its own currency under Accounting > FAR Connection, Debicourse is calculated based on this currency. Otherwise, Debicourse has the value of the existing course attribute.
docpath
VtcString Project.Docpath
Epcqr code
VtcBlob Outputs PNG image for QR code.
Income accountExpenditures
VtcString
  • If invoice 'posted’: bhEKontoAuslagen.AsString
  • Other:
    • If project exists: Take revenue account from project:
      = project.Income Accountexpenses.Asstring
    • Other: Empty
Income accountBenefits
VtcString
  • If invoice 'posted’: bhEKontoLeistungen.Asstring
  • Other:
    • If project exists: Take revenue account from project:
      = project.Income Accountservices.Asstring
    • Other: Empty
Income accountExpenses
VtcString
  • If invoice 'posted’: bhEKontoSpesen.AsString
  • Other:
    • If project exists: Take revenue account from project:
      = project.Income Accountexpenses.Asstring
    • Otherwise: empty string
PersonalAccNumDigits
String
  • When invoice charged: verrEsrPkStellen.asstring
  • Other: If payment type is available: zahlungstyp.esrPkStellen.asstring
  • Otherwise: empty string
FaelligDate
Date

The due date of the invoice is calculated based on debiKondition (see above). If debiKondition is empty, a payment term of 30 days is assumed.

IBAN
VtcString
  • If invoiced: verrIBAN.AsString
  • Other: If payment type is available: zahlungstyp.IBAN.AsString ,
  • Otherwise: empty string
IsBooked
Boolean Existing for historical reasons. Instead use only invoice.booked.
Course
float
  • The exchange course of the currency to the leading currency. The Currencydate is taken into account for the calculation.
  • If no currency is available (actually not allowed), course = 1
PowerMinutesExt
integer Sum of minutesExt to TInvoiceTotal(Totals.List), not rounded.
PowerMinutesExtManipulable
integer
  • Sum of all services.MinutsExt that can be adjustable.
  • If no services are available: 0.
PowerMinutesint
integer Sums MinutesInt of all TotalsPerformance.
VAT on services
VtcCurrency

Total amount of VAT on services.

  1. Non-fixed-price invoice: sum of all VAT amounts of all services.
    This is calculated from the invoice totals
  2. fixed-price invoice or invoice with discount: VAT
    rate * Valueextdiscount.
PerformanceVATCode
VtcString
  • VAT code for services. ATTENTION: use this rate only if fixed price invoice flat rate. Other services use VAT code Vatcode each individual service.
  • If the invoice is charged: verrLeistMWSTCode.Asstring
  • Is the invoice open: project.Mwstcodeperformance.Asstring
VAT rate on services
VtcCurrency
  • VAT rate for services. ATTENTION: use this rate only if invoice is fixed price rate. Otherwise use VAT rate for each individual service. 'Fixed price’ is an invoice either if 1. The invoice is fixed price rate or 2. A discount has been given. With the discount it is no longer possible to charge VAT per service.
  • Invoice is charged: VAT rate
  • Invoice is open: project.Vatrateservice
BenefitsExpensesExtWith VAT
VtcCurrency PerformanceValueExtWith VAT + ExpensesExtWith VAT + ExpensesExtWith VAT
PowerValueExt
VtcCurrency
  • Total value (currency) of services.
  • If invoice fixed price sum: fixed amount.
  • Normal invoice:
    • If charged: verrPerformanceValueExt.
    • If open: Calculation based on services and flat-rate phases:
      Sum of services.Valueext + Sum of all flat-rate phases.PlanvalueExt that are fixed price.
PowerValueExtManipulable
VtcCurrency Sum of all services.Vertext that can be adjustable.
PowerValueExtWith VAT
VtcCurrency PerformanceValueExtAfterDiscount + PerformanceVAT
PowerValueExtAfterDiscount
VtcCurrency PowerValueExt.AsCurrency – TotalDiscountAmount.AsCurrency
PowerValueExtNotFlat
VtcCurrency
  • Total services.Vertext, whether fixed price sum or not.
  • For historical reasons. Obsolete, since service.Valueext derived is calculated for fixed-price invoices.
PowerValueExtConcealed
VtcCurrency
  • Total external value of hidden services. Always calculated, even for invoices cleared.
  • Total of all services that are hidden.
  • If no services are available: 0.
PowerValueInt
VtcCurrency
  • Settled invoice, summed valueInt of all total services. Round to 5 cents.
  • Open invoice, add valueInt of all services. Add valueInt of all phases that are fixed price rate, valueInt of all open services. Round to 5 cents.
PerformanceValueInCost
VtcCurrency

Total internal standard cost value: Sum of total services.Value Cost

VATtype
Object Reference Returns depending on the inherited or custom VAT type, if available.
Flat-rateExpensesAmountEff
VtcCurrency
  • If lump sum expenses:
    • Flat-rate expensesAmount, if any.
    • Otherwise: FlatExpensesPercentage * PerformanceVertExt / 100, if flatExpensesPercentage is available.
    • Otherwise: 0.
  • If not flat rateExpenses: 0
Personal account
VtcString
  • If posted: bhPersonal account.
  • If not posted:
    • xBilling address.Personalaccnum, if available.
    • Otherwise: project.Personalaccnum, if available.
    • Otherwise: Empty.
PhasesCalculation
ObjectList

For BW compatibility only. Accessing Phases to Phasetotal should be avoided because it cannot be ensured that the Phasetotal corresponds to the correct invoice. Accessing Phases to invoice should always be via phase totals (see below) and not vice versa.

  • phase count must not be used as a column expression on a list, otherwise the phase totals will be mixed up completely, resulting in unexplained numbers.
PhasesTotal
ObjectList
  • List of all phase totals (Phasetotal) that belong to this invoice.
  • Access to the phases is via phase on the individual phase totals, access to all phases that are attached to the invoice via phase->asSet on the list.
  • The class Phasetotal has the following attributes:
    • phase: The project phase to which the Phasetotal belongs.
    • invoice: invoice to which the Phasetotal belongs.
    • Services: List of services which belong to this phase and appear on this invoice.
    • expenses: List of expenses that belong to this phase and appear on this invoice.
    • outlays: List of outlays that belong to this phase and appear on this invoice.
    • totalValueIntLeist: Performance total of the combination phase – invoice, internal value.
    • totalValueExtLeist: Performance total of the combination phase – invoice, external (chargeable) value.
    • totalValueIntExpense: Expense total of the combination phase – invoice, internal value.
    • totalValueExtexpenses: Expense total of the combination phase – invoice, external (chargeable) value.
    • totalValueIntExpenses: Expense total of the combination phase – invoice, internal value.
    • totalValueExtexpenses: Total expenses of the combination phase – invoice, external (chargeable) value.
QRCode
VtcBlob Calculates the QR code based on the payment information. If this is not possible, the following QRCodeError will show why.
QRCodeError
VtcString If the calculation of the QR code is not possible due to missing payment information, the error message is output in this Qrcodeerror (in English language).
QRAaddress text
VtcString

From Vertec 6.4.0.7. Format the invoice address (see below) as follows:

  • 70 symbols of the first row of the name
  • 70 symbols of the first row of the address
  • 70 symbols of “ZIP code location” incl. blank
  • If name, ZIP code and location are present, this is returned as qrAdress text, each separated by carriage return line feed.
  • If not, an empty string is returned, resulting in a QRCodeError message because the address is incomplete.
QRCompanyAddress text
VtcString

Starting with Vertec 6.4.0.7.

  • 70 symbols of the first row of the Companyname
  • 70 symbols of the first row of the Companyaddress
  • 70 symbols of “Companyplz Companylocation” incl. blank
  • If name, ZIP code and location are present, this is returned as qrCompanyAdress text, each separated by carriage return line feed.
  • If not, an empty string is returned, resulting in a QRCodeError message because the address is incomplete.
invoice address
ObjectReference
  • If a invoice address has been explicitly assigned on the invoice, it is taken,
  • otherwise the invoice address is used by the project (also derived).
Invoice AddressText
VtcString

When invoice 'charged’:

  • verrInvoiceAddressText if set.
  • Otherwise: If xBilling Address is assigned: xBilling Address.Addresstext.Asstring.
  • Otherwise: project.Invoice Address Text.Asstring.
Invoice letter address
VtcString
  • If charged and invoicingAddressTextavailable: invoicingCorrespondence
  • Other:
    • If xInvoice Address exists: xInvoice Address.
    • Other: project.Invoice letter address
Invoice greeting
VtcString
  • If charged and invoicingAddressTextavailable: invoicingGreeting formula
  • Other:
    • If xBillingAddress exists: xBillingAddress.Complimentary Close
    • Other: project.Invoicesalutation
Rfreference
VtcString Includes the reference number according to RF standard.
ExpensesExt
VtcCurrency
  • If the invoice is open: Sum of Totalexpenses.valueExt
  • If the invoice has been charged: verrSpesenExt
ExpensesExtWithVAT
VtcCurrency ExpenditureExt + ExpenditureVAT
ExpenditureInt
VtcCurrency Sum of all InvoiceTotal(TotalExpenses.List[i]).ValueInt.AsCurrency, rounded.
Expenses VAT
VtcCurrency Sum of alltotalexpenses.VAT Amount
ExpensesVATCode
VtcString
  • Invoice is settled:= verrExpensesVATCode.asstring.
  • Invoice is open: get the code from the project:= project.MwstcodeExpenses.Asstring. If no project exists: empty string.
ExpensesVAT rate
VtcCurrency
  • VAT rate for expenses. ATTENTION: use this rate only if expense invoice is fixed price rate. Otherwise use the VAT rate of each individual expense.
  • If the invoice has been charged: VAT rate
  • If the invoice is open: project.Vatrateexpenses
StdRateInt
VtcCurrency PowerValueInt.AsCurrency / (PowerMinutesInt.AsInteger / 60)
HourRateEffective
VtcCurrency
  • If PowerMinutesInt > 0: PowerValueExt.AsCurrency / (PowerMinutesInt.AsInteger / 60)
  • Otherwise: 0.
HourRateExt
VtcCurrency
  • If PowerMinutesExt > 0, then: PowerValueExt / (PowerMinutesExt / 60)
  • Other: 0
Total
VtcCurrency BenefitsExpenditureExtWith VAT + Advance Amount + Advance VAT – AdvanceEffectiveWith VAT
Total expenditure
ObjectList

Calculated only if the invoice is not yet charged. The result is a list of objects of type Invoicetotal.

  • Take all outlays that are directly attached to the invoice, as well as those from the lump sum phases that have set lump sum expenses.
  • A total is created generated for each combination of Vatcode, VAT rate, revenue account and cost unit.
  • Determine revenue account:
    • in the case of flat-rate outlays:
      • phase.Income accountExpenses.Asstring, if set.
      • Other: project.Income accountExpenses.Asstring.
    • for each outlay:
      • Outlays.Revenue account.Asstring
  • Determine cost unit:
    • in the case of flat-rate outlays:
      • phase.Cost Centerexpenses.Asstring, if set.
      • Other: project.Cost itemExpenses.Asstring.
    • for each outlay:
      • Outlays.cost unit.Asstring
  • Find out if there is already an invoice total for this VAT code, cost unit and account. If none exists, a new one will be created. The corresponding outlays will then be added.
Totalbenefits
ObjectList
  • Calculated only if the invoice is not yet charged. The result is a list of objects of type Invoicetotal.
  • Take all services that are directly attached to the invoice, as well as those from the flat-rate phases that have set fixed prices.
  • A total is created generated for each combination of Vatcode, VAT rate, revenue account and cost unit.
  • Determine revenue account:
    • in the case of flat-rate services:
      • phase.Income Accountservices.Asstring, if set.
      • Other: project.Income Accountservices.Asstring.
    • for each service:
      • Service.Revenue account.Asstring
  • Determine cost unit:
    • in the case of flat-rate services:
      • phase.Cost Centerservices.Asstring, if set.
      • Else: project.Cost Officeservices.Asstring.
    • for each service:
      • Service.Cost unit.Asstring
  • Check if there is already an invoice total for this combination of VAT code, cost unit and account. If there is none yet, a new one will be createdcreated The matching servicesServiceVertext will then be added.
  • Fixed-price invoice without services: If it is a fixed-price invoice without services, the flat-rate amount is added to the corresponding invoiceTotal.Vertext.
TotalExpenditure
ObjectList
  • Calculated only if the invoice is not yet charged. The result is a list of objects of type Invoicetotal.
  • If Useexpenses is set: Take all expenses that are directly attached to the invoice, as well as those from the flat-rate phases that have set flat-rateexpenses.
  • A total is created generated for each combination of Vatcode, VAT rate, revenue account and cost unit.
    • Determine revenue account:
      • in the case of flat-rate expenses:
        • phase.Income Accountexpenses.Asstring, if set.
        • Other: project.Income accountExpenses.Asstring.
      • for each item of expense:
        • Expenses.Revenue account.Asstring
    • Determine cost unit:
      • in the case of flat-rate expenses:
        • phase.Cost Centerexpenses.Asstring, if set.
        • Other: project.Cost itemExpenses.Asstring.
      • for each item of expense:
        • Expenses.Cost unit.Asstring
    • Check if there is already an invoice total for this VAT code, cost unit and account. If none exists, a new one will be created. The corresponding expenses will then be added.
Total revenue
VtcCurrency TotalYield = PowerValueExtAfterDiscount
TotalDiscountAmount
VtcCurrency
  • if discount:
    • Discount amount, if available.
    • Other: (DiscountPercent / 100) * PowerValueExt, if DiscountPercent is available.
    • Otherwise: 0.
  • if not discount: 0
Turnover
VtcCurrency
PowerValueExtAfterDiscount.AsCurrency +
ExpensesExt.AsCurrency + ExpensesExt.AsCurrency.
CurrencyDate
Date

The value date calculates its value in the following order:

  • xCurrency Date
  • By (if system settings Consider To date for invoice Value Date to Yes).
  • Date
  • CreationDateTime
Amount of advance
VtcCurrency Amount of downpayments invoiced. Total net amount of advance invoice.
AdvancementEffective
VtcCurrency
  • Invoice has been cleared: charge pre-advanceEffective
  • Invoice is open: Sum of all downpayments.Amountnet
AdvanceEffectiveDiff
VtcCurrency Differences in rounding when downpayments are deducted. No longer used.
AdvancesEffectiveWith VAT
VtcCurrency
  • If charged, take vrAdvanceEffectiveIncl.VAT. If vrAdvanceEffectiveIncl.Vatiszero (possible with converted data), add Gross Amount – Net Amount of all downpayment links.
  • If not charged, add Amountgross from all AdvancesLinks.
Advances Effective VAT
VtcCurrency
  • If charged, take vrAdvanceEffectiveIncl.VAT. If vrAdvanceEffectiveIncl.Vatiszero (possible with converted data), add Gross Amount – Net Amount of all downpayment links.
  • if not charged, sum amountGross from all advancesLinks.
AdvancePossible
VtcCurrency
  • For historical reasons. Total amount of possible downpayments for comparison with invoice total. Should no longer be used.
  • Total 'AmountOpen’ of all advances.
Advance VAT
VtcCurrency

Amount of VAT on downpayments invoiced: sum of advances invoiced. VAT amount

Invoice Total

An invoice total consists of Vatcode, VAT rate, revenue account and cost unit. A total is created for each combination. There are total benefits, total expenses and total expenses.    

VAT amount
VtcCurrency

This derived attribute is no longer used, instead Vatamountdiscount (incl. discount, persistent) should be used.

  • xMWSTamount, if set.
  • other:
    RoundCurrency(ValueExt.AsCurrency *
    AsCurrency / 100)
    **ValueExtWithVAT**: VtcCurrency.

InvoiceAdvanceLink

AmountGross
VtcCurrency

Invoice is charged:

  • If: xBetragNetto set: Calculate gross amount from net amount:
    If downpayment.Netamount <> 0: xamountNet.Ascurrency / downpayment.Netamount.Ascurrency * downpayment.Grossamount.Ascurrency
    Otherwise: 0.
  • If: xBetragNetto not set:
    If advance.isNet: amount, but first a helper function determines whether it is the last, balancing advanceLink.
    Otherwise: amount.AsCurrency

Invoice is not charged: Calculation is done via the auxiliary function CalcVorschussBetragForLink .

AmountNet
VtcCurrency

Invoice is charged:

  • xBetragNetto if set.
  • Other: Calculation by Vorschuss :
    If downpayment.Isnet: amount.
    Otherwise: if downpayment.Grossamount <> 0: amount.Ascurrency / downpayment.Grossamount.Ascurrency * downpayment.Netamount.Ascurrency
    Otherwise: 0.

Invoice is not charged: Calculate the advance via the auxiliary function CalcVorschussBetragForLink .

Bitte wählen Sie Ihren Standort