Infomaker Receipt Help

Hi folks, 

We are about to send out our competition invoices for our school and we are using an old info maker receipt that includes price types so the parents can see what they're being charged for. This year we added pricing layers so we could code things to different GL's on the same price type. We are now running into the fact that our receipt is splitting out the price layers by line so it looks like the parent is paying for the same item twice with different prices. (Which they technically are, but the amount of questions this will raise makes my head hurt.) I'm wondering if anyone has any insight into how we can edit the receipt to make the pricing layers combine and just show up as a total due for that price type. Here is a screen shot of what's set up: 

Here is what the receipt looks like (spacing is off but I can fix that):

So those two lines should be combined into one. 

Alternatively, does anyone have the knowledge on how to add a price type description and performance code to an HTML template or have code for one you've done that includes that that you'd be willing to share? 

Thanks, all! 

Nicki 

  • info maker

    Cry

    Probably to my detriment in short order, but I don't remember enough about Infomaker to know how easy it is to get rows to roll up and sum within the report, although it's probably possible?  Alternatively you could create a copy of the underlying stored procedure/function/view to do that summation, and as long as price layer specific data is not being returned, you could then hook up a copy of the Infomaker report to the new proc.

  • I can't help with the Infomaker part, but we do a mail merge (Word doc) using the Generic Order Confirmation Acknowledgement. Something like that might work for you if you can't figure out changing the report.

  • I also can't help you with the infomaker, (without gads of work), and I probably have that html code here and I'll look.  I'd think about putting it in an output set and running it as an email. That'd be easiest and prettiest  IMHO

  • , I'm comfortable with Infomaker! (I know, I know, I'm a hit at parties. ;))

    You need to create a group and then show the sum of the amounts on the group header or footer. In Infomaker, go to Rows->Create Group and then choose the fields you want to group on (maybe customer # and item #?). Then you can put the grouped data on the header or footer for that group.

    In my not very applicable example below, the data is being grouped by category_desc and category (probably redundant). The header row for the group shows category_desc.

    The detail section shows every row that's returned by the query/proc. Below that is the footer/trailer for the group, and here we see examples for aggregates. These could be in the header or the footer. Either is fine.

    The Summary row at the bottom displays at the end of the report and totals all of the data.

    Feel free to ping me if you need more guidance. Good luck!

  • Hi Nicki :)

    Have you had any luck with price types in HTML templates? I've been on the hunt for the exact same thing - I consolidated all deposits for our summer intensives into one "performance", but with 6 different price types (tuition for 3 separate programs and housing for those 3 separate programs). On the template it just says "Summer Deposits", the name of the performance, but not the breakdown of which specific program or housing they paid a deposit for. Not helpful to the parents. 

    I would also love to add payment dates to my payment info on all templates, since most families pay with payment plans over a course of 9 months. I've made a ton of progress with an HTML statement in general, but I still don't like that the payments don't have dates. You can see in this screenshot what that looks like - 

  • And just to clarify on the summer deposits - I did it that way so that all of the deposits for all programs can appear on one single page in TNEW. I couldn't figure out a way to do so otherwise!

  • ,

    Okay, so getting payment dates into your HTML templates should be possible, it just requires a separate call to the payment endpoint because the payment details contained in the standard OrderProductView does not include the dates.  Assuming you have your payments in your HTML template per the instructions in the HTML Template Recipe Book, I am going to try and give details on how to expand that to include payment dates, too.  We will see how this goes, as it is a bit more complex than just the copy/paste of that first one.

    First, make sure that the very top of your HTML template where you see other using statements includes the following (it probably will already):

    @using Tessitura.Service.Client.Txn;

    Second, somewhere still in the C# portion of your HTML template, that is, it should still be towards the top before you start seeing any HTML tags (e.g. <table>/<style>/<body>), put this in there:

    @{
        var orderNo = Convert.ToString(Model.OrderProductView.Id);
        var paymentUrl = "TXN/Payments?referenceId=" + orderNo;
        var paymentContent = Model.RestClient.AtUrl(paymentUrl).Get<Payments>().ResponseObject;
    }
    

    Thirdly, in the code you pasted from the HTML template, what is Line 14 in the recipe book, duplicate that line and change both of the width items to "300" so that lines 14 and 15 are identical and everything else got pushed down a line.  Also, in what is line 7 in the recipe book, change the "colspan" value to 3.

    Then, between what is lines 39 and 40 in the recipe book, the end of on </td> tag and the beginning of another <td> tag, insert this code:

    @foreach (var paymentTwo in paymentContent)
    {
        if (paymentTwo.Id == payment.Id) {
            DateTime? paymentDate = paymentTwo.PaymentDateTime;
            string formattedPaymentDate = paymentDate.Value.ToString("dddd, MMMM d, yyyy h:mm tt");
            <td style="vertical-align: top">
                @formattedPaymentDate<br/>
            </td>
        }
    }
    

    Lastly, in the <tr> tag that is line 45 in the recipe book, place these two lines immediately after that, pushing the rest down two lines.

    <td style="border-top: 1px solid #F15E47; color: #6e6d6d; vertical-align: top; text-align: right">
    </td>

    Well, assuming I can give details successfully and not be overly confusing, hopefully that helps!  If not, feel free to reach out to me directly.  jmoskal@thecenterpresents.org

    Best of luck!

    John A. Moskal II