CustAccountStatementExt expressions used for invoice & payment schedule due dates

Hi, I am working on customizing the CustAccountStatementExt.Report. In our business, we bill a lot of invoices using a payment schedule. Compared to the OOTB report which combines payment schedule Detail lines from different invoices together, the Docentric CustAccountStatementExt is already a huge improvement, constraining them to following their originating invoices only.

I would like to customize further, but am having trouble understanding the expressions that are used around the invoice and payment schedule detail lines. The first sequence is:

[at]CustTrans_markForPaymentSchedule != “” (expression, inverted)
[at]CustTrans_DueDate (invoice standard due date)
[at]CustTrans_markForPaymentSchedule != “” (expression, not inverted)

There is a CustTrans_markForPaymentSchedule text field but I don’t understand how it is used in the expressions. Then lower down:

[at]IsOpenTransaction (expression)
[at]CustTransOpen_DueDate (payment schedule due date)
[at]CustTransOpen_AmountCur (payment schedule open amount)

Although I’m not fluent with expressions, I assume that one is to only enable the Detail fields to display when they exist.

Is there somewhere in Docentric editor I’m forgetting that shows further explanation of expressions?

Hello David,

We’re always glad to hear that our product is making your work easier! :blush:

Regarding the term “expression,” I believe you’re referring to the one below:

iif(@CustTrans_markForPaymentSchedule != "" and data-source('Parameters')/@PrintPaymentSchedule = "false", "true", "false")

Let me explain this expression in plain language:

So, this expression will give a “true” result if these two conditions are met:

  • When @CustTrans_markForPaymentSchedule is not empty or blank, and at the same time,
  • @PrintPaymentSchedule (which comes from the Parameters data source) has a value of “false.”

Please note that if you’ve selected the Inverted check mark, the operation will work oppositely. In this case, the “If” tagging will hide the content instead of displaying it, or vice versa. That being said, the line needs to have some value for payment schedule but print payment schedule needs to be false to be shown.

For the second section @ISOpenTransaction: The field needs to have a value “false” indicating that it is closed which will show the fields under that If tagging element to be shown.

The @IsOpenTransaction can either have “true” or “false” value (never both), which will hide the lines that are in “open” (@IsOpenTransaction = "true") state.

1 Like

Hello Blaž, thanks so much for your quick reply and explanations of the expressions; I will take some time to understand and work with them. For now my remaining question is where can we see the full expressions? Example:

In the Element Tree, I see this:

In the Properties pane, I see this:

In the XPath Editor, I see this:

Where can we access or edit the full expression?:
iif(@CustTrans_markForPaymentSchedule != “” and data-source(‘Parameters’)/@PrintPaymentSchedule = “false”, “true”, “false”)

Or is it only “behind the scenes” after being inserted using the If tagging element?

Thanks again!

Happy to help! :blush:

I am guessing that you might not have the latest SSRS replica template installed as the expressions I’ve mentioned are located over the @CustTrans_DueDate field and “Paym. Sched.” label.

You are correct though, anyone can either see the expression directly on the element or in the XPath Editor like you did.

You can download the latest batch of replicas here. We have made some improvements on multiple replicas over the year.

Hi again Blaž, the templates we were using were loaded Aug 2022 (3.4.4 I believe). I just opened the one from the link ( and still see the same items in the Element Tree as before, not like your screenshot. Do we need an updated Docentric Word add-in?

Hi David, I do apologize, this is already a new version of the document which will be released in the following days, so it’s just around the corner. :face_with_hand_over_mouth:
Might I recommend subscribing to our blog, to stay updated about the latest news, releases, and features.

1 Like

Hi again Blaž, I have been playing around with our existing template in the meantime, and finally understand the existing expressions! Part of my confusion was because they are to evaluate CustTrans_markForPaymentSchedule against value “”, but in our data source it is always “”.

Just out of curiousity, have the data models also been updated? There are some CustTrans fields that would be nice to have available, like Amount, Terms of Payment, Payment Schedule and Cash Discount.

Hi David,

Our replicas of the SSRS reports contain the same data as the SSRS originals. We don’t add additional data fields to the OOTB replicas, but we do sometimes reshape the data to be more understandable and user friendly for people who design the reports.

If you need additional data on the report, you will need a developer who will do the extension of our Data Source Provider (DSP) class which provides the data for the report. It is quite a simple task for a developer. If your license contains technical support, you can turn directly on us for help. Otherwise you can ask your implementation partner for help. They can contact us for more information, if needed.