{"id":14011,"date":"2018-05-08T07:41:05","date_gmt":"2018-05-08T07:41:05","guid":{"rendered":"https:\/\/kb.sambapos.com\/?p=14011"},"modified":"2021-01-29T16:23:39","modified_gmt":"2021-01-29T16:23:39","slug":"9-1-3-custom-reporting-tags","status":"publish","type":"post","link":"https:\/\/kb.sambapos.com\/en\/9-1-3-custom-reporting-tags\/","title":{"rendered":"9.1.3. Custom Reporting Tags"},"content":{"rendered":"<p>It is possible to prepare any type of reports with SQL and display results as a Custom Report. Alternatively you can use Custom Report Tags to prepare reports. If you need more information about preparing a custom report you can review tutorial below.<\/p>\n<p><a href=\"http:\/\/forum.sambapos.com\/t\/new-how-to-use-custom-reports-module-1-0\/2142\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/forum.sambapos.com\/t\/new-how-to-use-custom-reports-module-1-0\/2142<\/a><\/p>\n<h2 id=\"introduction\" class=\"sectionedit2\">Introduction<\/h2>\n<div class=\"level2\">\n<p>Basically there are four types of tags.<\/p>\n<table class=\"inline\">\n<tbody>\n<tr class=\"row0\">\n<th class=\"col0\"><span style=\"font-size: 10pt;\">DETAILS TAGS<\/span><\/th>\n<td class=\"col1\"><span style=\"font-size: 10pt;\">These tags contains&nbsp;<code>DETAILS<\/code>&nbsp;keyword in it and allows us to prepare table reports.<\/span><\/td>\n<\/tr>\n<tr class=\"row1\">\n<th class=\"col0\"><span style=\"font-size: 10pt;\">TOTAL TAGS<\/span><\/th>\n<td class=\"col1\"><span style=\"font-size: 10pt;\">If a tag contains&nbsp;<code>TOTAL<\/code>&nbsp;keyword in it we can use this tag read sum of a value.<\/span><\/td>\n<\/tr>\n<tr class=\"row2\">\n<th class=\"col0\"><span style=\"font-size: 10pt;\">COUNT TAGS<\/span><\/th>\n<td class=\"col1\"><span style=\"font-size: 10pt;\"><code>COUNT&nbsp;<\/code>keyword indicates that tag returns count of something.<\/span><\/td>\n<\/tr>\n<tr class=\"row3\">\n<th class=\"col0\"><span style=\"font-size: 10pt;\">LIST TAGS<\/span><\/th>\n<td class=\"col1\"><span style=\"font-size: 10pt;\">Returns a comma separated value list. Useful for building sub reports.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Note:&nbsp;Accounting related tags does not follow these rules as they don&#8217;t support expressions by nature.<br \/>\n<code>Syntax<br \/>\nDETAILS:{TAG:&lt;fields&gt;:&lt;expression&gt;}<br \/>\nTOTAL:{TAG:&lt;expression&gt;}<br \/>\nCOUNT:{TAG:&lt;expression&gt;}<br \/>\nLIST:{TAG:&lt;expression&gt;}<br \/>\n<\/code><\/p>\n<p>SUPPORTED TAGS<\/p>\n<p><code>Ticket Related<\/code><br \/>\n<code><br \/>\n{REPORT TICKET DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT TICKET TOTAL:&lt;expression&gt;}<br \/>\n{REPORT TICKET COUNT:&lt;expression&gt;}<br \/>\n{REPORT ORDER DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT ORDER COUNT:&lt;expression&gt;}<br \/>\n{REPORT ORDER TOTAL:&lt;expression&gt;}<br \/>\n{REPORT PAYMENT DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT PAYMENT COUNT:&lt;expression&gt;}<br \/>\n{REPORT PAYMENT TOTAL:&lt;expression&gt;}<br \/>\n{REPORT CALCULATION DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT CALCULATION COUNT:&lt;expression&gt;}<br \/>\n{REPORT CALCULATION TOTAL:&lt;expression&gt;}<br \/>\n{REPORT TICKET PAYMENT TOTAL:&lt;expression&gt;}<br \/>\n{REPORT TICKET CALCULATION TOTAL:&lt;expression&gt;}<br \/>\n{TICKET TAG LIST:&lt;expression&gt;}<\/code><\/p>\n<p><code><br \/>\nEntity State Log Related<\/code><\/p>\n<p><code><br \/>\n<\/code><code>{REPORT ENTITY STATE DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE TOTAL DURATION:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE TOTAL HOURS:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE TOTAL MINUTES:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE TOTAL SECONDS:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE COUNT:&lt;expression&gt;}<br \/>\n{ENTITY STATE ENTITY LIST:&lt;expression&gt;}<br \/>\n{ENTITY STATE START DATE LIST:&lt;expression&gt;}<br \/>\n{ENTITY STATE END DATE LIST:&lt;expression&gt;}<br \/>\n<\/code><\/p>\n<p>Additionally these tags that allow you to query single ticket values. Might not be useful for reporting but you can use these tag to query ticket values inside rule constraints or use them inside printer templates. As expression syntax is same that already included these in this topic.<\/p>\n<p><code>{TICKET ORDER TOTAL EXP:&lt;expression&gt;}<br \/>\n{TICKET ORDER COUNT EXP:&lt;expression&gt;}<br \/>\n{TICKET ORDER QUANTITY TOTAL EXP:&lt;expression&gt;}<br \/>\n{TICKET ORDER TAG TOTAL EXP:&lt;expression&gt;}<br \/>\n{TICKET ORDER STATE VALUE TOTAL EXP:&lt;expression&gt;}<\/code><\/p>\n<p><code><code><\/code><\/code><\/p>\n<h2 id=\"expressions\" class=\"sectionedit8\">Expressions<\/h2>\n<p><code><code><\/code><\/code><\/p>\n<div class=\"level2\">\n<p>It will be used expressions to filter results returned by tags. If you are familiar with SQL, you can think these as `Where` sections.<\/p>\n<p><strong>For Example\u2026<\/strong><\/p>\n<p><code>{REPORT PAYMENT TOTAL:}<\/code>This tag will display total of all payments that created inside reporting period. As it will total of all cash, credit card or other type of payments it will be needed a&nbsp;<code>&lt;expression&gt;<\/code>&nbsp;for more precise total. For reading a total of only&nbsp;<code>Cash<\/code>&nbsp;payments the syntax should be.<\/p>\n<p><code>{REPORT PAYMENT TOTAL:(PT=Cash)}<\/code><\/p>\n<p><code><span class=\"wrap_info \">Syntax<\/span>&nbsp;<strong>(&lt;Field&gt;=&lt;Value&gt;)<\/strong><\/code><\/p>\n<p><code><code><\/code><\/code>This syntax allows you to easily create filter expressions without thinking about common syntax features such as quotes, spaces, etc.&nbsp;<code>&lt;Field&gt;<\/code>&nbsp;value defines what you want to filter and `&lt;Value&gt;` part defines the filter value. Finally you&#8217;ll surround them with parenthesis to differ a value from other filters.<\/p>\n<p>You can use multiple filters by using&nbsp;<code>AND \/ OR<\/code>&nbsp;keywords. For example<br \/>\n<code>{REPORT PAYMENT TOTAL:(PT=Cash) OR (PT=Credit Card)}<\/code><\/p>\n<p>\u2026 will display total of&nbsp;<code>Cash + Credit Card<\/code>&nbsp;payments.<\/p>\n<p>It is necessary to know what fields each tag type supports. For example<br \/>\nCalculation&nbsp;related tags supports&nbsp;<code>CT<\/code>&nbsp;field.<\/p>\n<p><code>{REPORT CALCULATION TOTAL:(CT=Discount)}<\/code><\/p>\n<p>Some fields need additional parameters. For example think about your Customers have a&nbsp;<code>Customer Type<\/code>Custom Field and you want to read total of all Cash payments&nbsp;<code>VIP<\/code>&nbsp;customers made.<\/p>\n<p><code>{REPORT PAYMENT TOTAL:(PT=Cash) AND (EC.Customer.Customer Type=VIP)}<\/code><\/p>\n<p><code>EC<\/code>&nbsp;field needs an&nbsp;<code>Entity Type Name<\/code>&nbsp;and the name of the&nbsp;<code>Custom Field<\/code>.<\/p>\n<\/div>\n<h3 id=\"list_of_all_possible_expression_fields\" class=\"sectionedit9\">List of all possible expression fields<\/h3>\n<div class=\"level3\">\n<p>Supported by&nbsp;<code>REPORT TICKET, ORDER, PAYMENT, CALCULATION<\/code>&nbsp;and&nbsp;<code>TICKET ORDER EXP<\/code>&nbsp;tags.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dede00; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>TEN.&lt;entity type&gt; Ticket Entity Name Equals<br \/>\nTENC.&lt;entity type&gt; Ticket Entity Name Contains<br \/>\nTEC.&lt;entity type&gt;.&lt;custom field&gt; Ticket Entity Field Equals<br \/>\nTECC.&lt;entity type&gt;.&lt;custom field&gt; Ticket Entity Field Contains<br \/>\nTU Ticket User Name Equals<br \/>\nDE Ticket Department Name Equals<br \/>\nTE Ticket Terminal Name<br \/>\nTY Ticket Type<br \/>\nPA Ticket Contains a Payment *<br \/>\nCA Ticket Contains a Calculation<br \/>\nTCET Ticket Contains an Entity Type<br \/>\nTT.&lt;tag name&gt; Ticket Tagged With<br \/>\nTS.&lt;state name&gt; Ticket is in State<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>* Use the Payment Account Name to filter by Payment Type.<\/p>\n<p>Supported by&nbsp;<code>REPORT ORDER<\/code>&nbsp;tags<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>OT.&lt;tag name&gt; Order Tagged With<br \/>\nOS.&lt;state name&gt; Order is in State<br \/>\nOU Order User Name Equals<br \/>\nMT.&lt;tag name&gt; Order Menu Item Custom tag Equals<br \/>\nMG Order Menu Item Group Equals<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Supported by&nbsp;<code>ENTITY STATE<\/code>&nbsp;tags.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>ELN Entity State Log Name Equals<br \/>\nELSN State Name Equals<br \/>\nELSS Start State Equals<br \/>\nELES End State Equals<br \/>\nELEN Entity Name Equals<br \/>\nELEC.&lt;field name&gt; Entity Custom Field Equals<br \/>\nELSD Start Date Equals<br \/>\nELED End Date Equals<br \/>\nELCD.&lt;field name&gt; Custom Data Equals<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Supported by&nbsp;<code>REPORT PAYMENT<\/code>&nbsp;tags<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>PT Payment Type Name Equals<br \/>\nPU Payment User Name Equals<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Supported by&nbsp;<code>REPORT CALCULATION<\/code>&nbsp;tags<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\">CT Calculation Type Name Equals<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These are the supported&nbsp;<code>DETAILS<\/code>&nbsp;tags.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT ORDER DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT PAYMENT DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT CALCULATION DETAILS:&lt;fields&gt;:&lt;expression&gt;}<br \/>\n{REPORT ENTITY STATE DETAILS:&lt;fields&gt;:&lt;expression&gt;}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These tags are useful to create table reports. In this post it will be explained how&nbsp;<code>&lt;fields&gt;<\/code>&nbsp;section works.<\/p>\n<p>This sample tag lists all tickets created by user named Nizam<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:&lt;fields&gt;:(TU=Nizam)}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>By using fields section you can configure what data your report displays. There are three types of fields.<\/p>\n<ol>\n<li class=\"level1\">\n<div class=\"li\">Predefined fields that require a parameter. For example&nbsp;<code>EC.Customer.Phone<\/code>&nbsp;field requires 2 parameters and returns ticket&#8217;s customer phone.<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">Predefined with no parameter. These starts with&nbsp;<code>T.<\/code>&nbsp;identifier. For example&nbsp;<code>T.Department<\/code>&nbsp;returns department name.<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">Database Fields. These also starts with&nbsp;<code>T.<\/code>&nbsp;identifier. They are directly mapped to database fields. If you see a&nbsp;<code>TicketNumber<\/code>&nbsp;field in&nbsp;<code>Tickets<\/code>&nbsp;table you can read that value with&nbsp;<code>T.TicketNumber<\/code>. That means if a database value not listed here you can read it by using it&#8217;s field name.<\/div>\n<\/li>\n<\/ol>\n<p><span class=\"wrap_tip \">Tip;&nbsp;<\/span><code>T.DepartmentId<\/code>&nbsp;field returns DepartmentId field value of Tickets table. For some Id fields there is a predefined field named as&nbsp;<code>T.Department<\/code>. That&#8217;s why we have both predefined and database fields.<\/p>\n<p>Now it will be shown how to configure some fields for the sample tag.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:T.TicketNumber,T.Time,TN.TotalAmount:(TU=Nizam)}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This report will display&nbsp;<code>Ticket Number, Time and TotalAmount<\/code>&nbsp;values.<\/p>\n<p><span class=\"wrap_tip \">Tip;<\/span>&nbsp;You&#8217;ll notice Total Amount value uses TN. prefix instead of T. Adding&nbsp;<code>N<\/code>&nbsp;next to identifier will format it as a number. That means&nbsp;<code>T.TotalAmount<\/code>&nbsp;field will display it without formatting.<\/p>\n<h3 id=\"list_of_all_predefined_fields\" class=\"sectionedit10\">List of all predefined fields.<\/h3>\n<div class=\"level3\">\n<p><strong>TICKET DETAILS<\/strong><\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>EN.&lt;entity type&gt; Entity Name<br \/>\nEC.&lt;entity type&gt;.&lt;field name&gt; Entity Custom Field Value<br \/>\nTS.&lt;state name&gt; Ticket State<br \/>\nTT.&lt;tag group name&gt; Ticket Tag Value<br \/>\nCA.&lt;calculation type name&gt; Calculation Amount<br \/>\nPA.&lt;payment account name&gt; Payment Amount<br \/>\nT.Department Department Name<br \/>\nT.TicketType Ticket Type Name<br \/>\nT.User User Name<br \/>\nT.Date Ticket Date<br \/>\nT.Time Ticket Time<br \/>\nT.Terminal Terminal Name<br \/>\nT.Tax Total Tax Amount<br \/>\nT.TotalAmount Total Amount<br \/>\nT.RemainingAmount Remaining Amount<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>ORDER DETAILS<\/strong><\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>OS.&lt;state name&gt; Order State<br \/>\nOSD.&lt;state name&gt; Order State Date<br \/>\nOST.&lt;state name&gt; Order State Time<br \/>\nOSV.&lt;state name&gt; Order State Value<br \/>\nOSU.&lt;state name&gt; Order State User<br \/>\nOT&lt;tag name&gt; Order Tag<br \/>\nOTN.&lt;tag name&gt; Order Tag Note<br \/>\nOTU.&lt;tag name&gt; Order Tag User<br \/>\nOTP.&lt;tag name&gt; Order Tag Price<br \/>\nMT.&lt;tag name&gt; Menu Item Custom Tag Value<br \/>\nO.MenuItemName Menu Item Name<br \/>\nO.Department Department Name<br \/>\nO.Date Order Date<br \/>\nO.Time Order Time<br \/>\nO.User User Name<br \/>\nO.Terminal Terminal Name<br \/>\nO.Tax Tax Amount<br \/>\nO.ItemGroup Menu Item Group Name<br \/>\nO.ItemTag Menu Item Tag<br \/>\nO.Price Price<br \/>\nO.Quantity Quantity<br \/>\nO.OrderNumber Order Number<br \/>\nO.Total Order Total<br \/>\nO.TotalPrice Order Price * Order Quantity<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>PAYMENT DETAILS<\/strong><\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>P.Department Department Name<br \/>\nP.Date Payment Date<br \/>\nP.Time Payment Time<br \/>\nP.User User Name<br \/>\nP.Terminal Terminal Name<br \/>\nP.Type Payment Type<br \/>\nP.Amount Payment Amount<br \/>\nP.TenderedAmount Tendered Amount<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>CALCULATION DETAILS<\/strong><\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>C.Date Calculation Date<br \/>\nC.Time Calculation Time<br \/>\nC.User User Name<br \/>\nC.Type Calculation Type<br \/>\nC.Amount Amount<br \/>\nC.CalculationAmount Calculation Amount<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>ENTITY STATE DETAILS<\/strong><\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>EC.&lt;field name&gt; Entity Custom Field Value<br \/>\nCD.&lt;field name&gt; Custom Data Value<br \/>\nL.EntityName Entity Name<br \/>\nL.StartDate State Start Date<br \/>\nL.StartTime State Start Time<br \/>\nL.EndDate State End Date<br \/>\nL.EndTime State End Time<br \/>\nL.Seconds Total Seconds<br \/>\nL.Minutes Total Minutes<br \/>\nL.Hours Total Hours<br \/>\nL.Days Total Days<br \/>\nL.Second Duration Second<br \/>\nL.Minute Duration Minute<br \/>\nL.Hour Duration Hour<br \/>\nL.Day Duration Day<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"level3\">\n<p><span class=\"wrap_tip \">Tip;<\/span>&nbsp;Log custom data syntax is&nbsp;<code>&lt;field1&gt;=&lt;value1&gt;;&lt;field2&gt;=&lt;value2&gt;;\u2026<\/code><\/p>\n<\/div>\n<h3 id=\"field_calculations\" class=\"sectionedit11\">Field Calculations<\/h3>\n<div class=\"level3\">\n<p>This great feature allows you to make calculations by using field values.<\/p>\n<p><span class=\"wrap_info \">Syntax:<\/span>&nbsp;<strong>=&lt;calculation&gt;<\/strong><\/p>\n<p>Examples<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:T.TicketNumber,T.Time,TN.TotalAmount,=2+2}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This tag displays the result of 2+2 on all lines.<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:T.TicketNumber,T.Time,=[T.TotalAmount]*2}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This tag displays Ticket&#8217;s Total Amount multiplied by 2.<\/p>\n<p>When you use fields in calculations you need to enclose them in square brackets. For example:<\/p>\n<table style=\"width: 100%; border-collapse: collapse; border-color: #dedede; background-color: #dedede;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT TICKET DETAILS:T.TicketNumber,=[T.TotalAmount]*[EC.Employee.Comission]}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"other_entity_state_log_tags\" class=\"sectionedit12\">Other Entity State Log Tags<\/h2>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\"><code>{REPORT ENTITY STATE TOTAL DURATION:\"&lt;format&gt;\":&lt;expression&gt;}<br \/>\nDisplays total duration of logs that matches expression. Format is the display format of duration. For example \"dd.hh:mm:ss\"<\/code><\/p>\n<p><code>{REPORT ENTITY STATE TOTAL HOURS:&lt;expression&gt;}<br \/>\nTotal Hours for matching expression.<\/code><\/p>\n<p><code>{REPORT ENTITY STATE TOTAL MINUTES:&lt;expression&gt;}<br \/>\nTotal Minutes for matching expression.<\/code><\/p>\n<p><code>{REPORT ENTITY STATE TOTAL SECONDS:&lt;expression&gt;}<br \/>\nTotal Seconds for Matching expression.<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"formatting_syntax\" class=\"sectionedit13\">Formatting Syntax<\/h2>\n<div class=\"level2\">\n<p><strong>M<\/strong>oney function&nbsp;<code>=M([&lt;field&gt;])<\/code>&nbsp;will format value as windows regional currency format. F,C,N functions to format results as numbers. For example&nbsp;<code>=C(2500*2)<\/code><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><code><\/code><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>It is possible to prepare any type of reports with SQL and display results as a Custom Report. Alternatively you can use Custom Report Tags to prepare reports. If you need more information about preparing a custom report you can review tutorial below. http:\/\/forum.sambapos.com\/t\/new-how-to-use-custom-reports-module-1-0\/2142 Introduction Basically there are four types of tags. DETAILS TAGS These [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-14011","post","type-post","status-publish","format-standard","hentry","category-reports"],"_links":{"self":[{"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/posts\/14011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/comments?post=14011"}],"version-history":[{"count":25,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/posts\/14011\/revisions"}],"predecessor-version":[{"id":25538,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/posts\/14011\/revisions\/25538"}],"wp:attachment":[{"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/media?parent=14011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/categories?post=14011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.sambapos.com\/en\/wp-json\/wp\/v2\/tags?post=14011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}