Report Transformations - No-code development platform

Thanks Lubos for this new function. When I try to create a suppliers report called Opgaaf ICP, the “where-is” section doesn’t give me any option to choose. What do I do wrong.
In the EU/NL we have to submit together with the VAT return form a form, showing the socalled intracommunautaire transactions. The report has to show the country code,the Customer-VAT registration nummer and the total net sales in a given period of time
Could you please add Customers/Debtors to the list of options. It would be very handy if two custom codes, representing Country and VAT registration code could be selected as well. This would be beneficial for all EU users.
It would even be better if “Country Code” is added as a databasetable to Customers and Suppliers

Kind regards,
Hennie

I hope that that’s temporary, I have made many reports using the old transformations and my business relies on it.

This new implementation is way too limited to be useful to me.

I hope @lubos reenables custom report transformations using code.

1 Like

Thank you @lubos, just a quick question, would you consider to include at least some basic arithmetic operations rather than automatic additions of the selected figures?

1 Like

Thank you so much for this valuable update … i tested this function and how much it add value for the application …

The approach to developing electronic transmission files is interesting, as that aspect is becoming a critical part of modern accounting software. Demonstrating how to generated CVS files for export does appear clean however a couple of things concern me

  • Hiding the control structures give an artificial impression of simplicity until someone tries to actually use it to generate a specific file. Clear documentation will be essential to avoid everyone reverse engineering the interface and having their report later fail when undocumented program behaviour is changed. Such as what goes in the header line, what goes in data lines, what triggers a new record, what delimiters are used, are delimiters in the data escaped, etc.

  • XML is likely to be more important than CSV moving forwards. How is it envisioned XML will be incorporated into Report transformation?

I suppose a way of incorporating XML into the current Report transformation development platform would be to add an export drop down menu along side the columns menu with options

  • None
  • CSV
  • XML

Selecting other than None would enable a column to specify the export files contents. A “Show Export file contents” option should also be added Reports → Report Transformation → < Specific Report transformation > → report definition.

1 Like

To do that the Report Transformation environment would need the capability to Name / reference prior results not just Figures predefined in the report development environment. Enabling such functionality would require a slightly different approach to Report Transformation - No-code development platform. Such as discussed here, where the “Figures” definition is exposed and names given to “Figures” could be subsequently used in other parts of the Report transformation.

I strongly support the addition of this capacity as it would enable inclusion of rounding consistent with individual countries tax authorities requirements. Such as

Similarly the ATO GST Worksheet also specifies rounding down of all intermediate values Complete your BAS | Australian Taxation Office

Note
Calculation of returns with rounding would also enable calculation of a “Rounding adjustment” to deduct from the “GST/VAT Payable” account when GST/VAT is paid in accordance with a countries tax authorities rounding requirements.

In this case, create new business for the country that doesn’t exist yet. Create your tax codes and report transformation using them. Then this can be exported to JSON file which can be uploaded to Github. I will provide guide to explain step-by-step how to contribute new country or how to improve existing country.

At this point, only additions are supported. I will need use-case why subtraction is needed. So far it wasn’t needed for existing country-specific reports. If it’s needed for some new one, I will find the way to support it one way or another.

Two considerations. If you need to loop through all suppliers, then choose nothing in where-is section. If you need to loop through only specific suppliers, then this can be controlled using custom field. You will need to create custom field on supplier-level and custom field needs to be a drop-down.

Example:

image

Then on report transformation this custom field will be available.

Loops for customers haven’t been implemented because it wasn’t required for any country-specific report yet. If there is country-specific report which require looping through customers. Just start new topic and will get it done.

Is there country-specific report which requires this? The scope of this feature is to faciliate country-specific reports. It’s not to faciliate anything because total flexibility would be possible with coding only. And I want to stay this within no-code zone because that’s the only way to make creation of country-specific reports easy.

XML or JSON would suit better. I will add support for all three formats or any format that is useful. What I would like to avoid is to add ability to create custom structures. That would probably require coding.

So it would be better if websites which do electronic submissions can simply accept Manager CSV, XML or JSON output as it’s generated.

Hi lubos

I’m having a hard time recreating the reports that I used to have using the “No Code” method, specifically the PAYG value I need

As a sole trader, I don’t have payslips, so all the the payslip earning values are empty (or non-existent). When I could write my own code, I calculated my total earnings (Total Sales - Total Purchases etc) then multiplied that number be my estimated tax rate to find my PAYG amount owing. There no longer appears to be anyway to do anything like this.

The available fields in the reports don’t seem to cover what I want anymore. Is there a work around to get the values I need, or am I back to spitting out the values I can get and doing the rest by hand.

Thanks
Andrew

@andrewbaglin what are you trying to achieve? Some kind of Income Tax Worksheet where you can see estimate income tax?

Just trying to calculate the quarterly PAYG component I need to pay the ATO as part of my BAS. Because my income can vary so much quarter to quarter, I use a percentage of my income for that quarter as the PAYG amount.

I effectively want to use the “Business Activity Statement - Full” template but replace the PAYG tax withheld section values W1 & W2 with

T1 - Earnings for the qtr (i.e. sales (ex gst) - purchases (ex gst)
5A - 30% of T1

Currently I have no solution but this will continue to evolve so eventually I will find the way how to incorporate this without using the code. I want to support ability to have income tax worksheets which would require ability to estimate income tax based on profit.

1 Like

Thinking about this further a possible Report writer interface is:

  • A menu to select the type of file to be exported
  • Cells in that column enable selection of a data element or valid data delimiter for the chosen file type.
  • Entering a data element would consist of entering the data element name (column heading in a cvs file, element name in structured data like xml) and which report column the data value is taken from.

This would simplify generation of electronic communication data. I think it would cover all static data structures, which I suspect is by far the majority.

The only exception I’m aware of is the “Allowance - Other” in the Australian single touch payroll which uses a dynamic data structure consisting of data labels

  • Other allowance [ integer 1 … 20 ] description
  • Other allowance [ integer 1 … 20 ] value

Where the description is a pay type specific to a group of employees such as “Jobkeeper-Topup”, so in Manager terminology it is a payslip item name. I suspect this is rare in data communication standards so could be ignored. If not supporting it could be done by allowing the data element name to be dynamic (reference a cell not static text) and allow more general control structures (not just “Supplier” or “Employees”). Hopefully this isn’t required as it risks complicating the interface.

Report writer control structures

The current No code report writer supports looping for

  • Suppler
  • Employee

If a spread sheet style layout was used these could continue to be implemented using the current interface, perhaps enhanced by showing the loop boundaries in a grey area with labelling.

An alternative is to enter the control structure in a similar manner to entering a data value in column A. Doing so would result in the same changes as described above. While this approach would result in a more flexible report writer architecture, it may involve too much programming to be viable in the near term.

@lubos Can I suggest a third road?

In the past you had the form designed in such a way that it required coding to do something as simple as update the report transformation. Now you have it where it is code free to do simple things like the report transformation.

The problem with the original design was that all end users had to have some knowledge of coding to do even the simplest report. The problem with the new design is that the functionality is limited to what reports can be created without using the code.

Why not have a code free development module for generic things like country report transformations and other commonly used reports and have a separate advanced report development module for more specialised reporting needs.

Or at the very least have both modules until you have found a way to produce the reports requested in a code free way. This would enable users currently using the old report system to continue to use it without any loss of functionality which they are now currently experiencing.

Having said that, I am not clear on why Andrew needs to create a custom report using coding to determine what his payslip is as I would have thought his requirement would be applicable to all businesses that run as a sole trader? Should there not be a sole trade payg monthly net profit report?

1 Like
  • Go to Reports → Profit and Loss Statement → New Report
  • Set title to something like “Profit and Loss Statement - BAS 2020 / 2021”
  • Set Description to something like “BAS 2020 / 2021”
  • Create a column for each quarter, with a column names “BAS Q1”, “BAS Q2”, “BAS Q3”, “BAS Q4”
  • Set the From & to date for each BAS quarter
  • Set the Accounting method based on how you submit your records to the ATO
  • At the start of each financial year clone this report and update the final year digit by 1 for each date.

When doing you BAS view this report.

  • Your profit / loss for the quarter will be listed at the bottom. If you have more complicated accounts such as a sole trader with some no tax deductible items recorded in Manager or a business with income tax allowance then you would have created a “Taxable income” total and you would use that instead.

  • Multiple this figure by 30% to get your PAYG tax withheld

By the way, when looking at your annual tax return to the ATO

  • Go to Reports → Profit and Loss Statement → New Report
  • Create a report identical to above except enter financial years for each comparator period

May I suggest to take inspiration from Matabase? It has a very simple no-code interface that can be turned in a low-code interface if needed.

1 Like

For me code is absolutely necessary. No code environment only works when you have some control over the structure of the data. But when you don’t, code can easily compensate for that.

An interface like Metabase can replace both Custom Reports and Report Transformation.

Does what work, @annalivan? This topic has covered several related issues. You need to be specific on the forum.

Thanks @lubos for this new function. How we can type a plain text into fields just like built-in VAT Return Form?

@alosultan just start plain text with " character which will create text value. You can see plain text in autocomplete fields is wrapped in " character.

1 Like