TRIAL Trial run - not yet ready for production use. InvoiceNET® ERP and this website are open to everyone for trial and testing, and are not yet ready for production use. Please do not keep real business records here: data entered during the trial may be reset, and features may change. Tell us what you find through Suggestions & Feedback. Open the feedback form
InvoiceNET®ERP Software for Business

Colour

These are the themes of InvoiceNET® ERP itself. Your choice is remembered on this device.

Help centre / Tools and utilities

InvoiceNET® Studio

InvoiceNET® Studio makes pages without code. A design is a description - its fields, grids and rules - and one ERP page draws it, so every designed page behaves like the hand-built ones: the same keys, the same checks, the same help.

1Getting started #

  1. Make the tables in Masters -> Custom Table Designer , each with its key fields. A child table (lines, photos) carries a field that holds the main record's key.
  2. New data object : pick the main table, add child tables (grids), parent tables (looked up) and tables with no link, state each table's key fields and how they are filled, and the relations.
  3. New page design (F3) : choose the data object, then drag fields and grids from the toolbox onto the canvas and set each one's rules on the right.
  4. Preview shows the draft exactly as users will see it, on real records; nothing is saved.
  5. Publish : the design is checked, frozen as a version, and put on the menu under Designed Pages .
  6. Give people the right in User Manager -> Permissions -> InvoiceNET® Studio on the page's row: View, Create, Alter, Delete.
  7. A report is designed the same way: New report design , pick the table or view it reads (or a data object's tables), its columns, options, groups and colours, Preview , then Publish . It runs in the ordinary report viewer - print, export, e-mail and schedule included - with View, Print and Export rights on its own row.

2The cards #

  • Draft only - never published; users cannot open it.
  • Published vN - users see version N, and the draft is the same.
  • vN + changes - users see version N; the draft has changes not published yet.
  • Off - switched off: its menu entry is hidden and the page refuses to open; its records are kept.
  • A data object card shows its main table and how many designs use it.
  • A report card shows the table it reads; Open report runs the published version in the report viewer.
  • Reports on the licence is a count of its own: one report comes with InvoiceNET® Studio, more are bought per report.
  • From CUS_... - the design came with a custom module. It runs under that module (without InvoiceNET® Studio licence) and is read-only here: it is changed in the company it was made in and arrives again when the module is applied.

3Moving designs to another company #

  • Export designs : tick the published pages and reports to take. The file holds their published versions, their data objects and the structure of their custom tables - never a record.
  • In the other company, Import designs , choose the file and press Check : every table, data object and design it would make or change is listed, and nothing is written yet.
  • Press Import (F5) . Missing tables and columns are made, each design is published and put on the menu. A design already there stops the import unless Replace is on.
  • New designs count against that company's licence, pages and reports apart. A design that came with a custom module is never exported or replaced.

4Rights #

  • InvoiceNET® Studio is governed by Studio Designer in User Manager -> Permissions -> InvoiceNET® Studio: Create, Alter and Delete work on designs and data objects; Execute publishes.
  • Each published page has its own row there, by its code. Administrators hold every right.
  • You hold:

5Keys #

  • F2 refreshes, F3 starts a new page design, Esc closes the page.
  • On a card, Enter opens it.

6If something does not work #

"...: a frozen column needs a width in pixels." / "...: only the first columns can be frozen ..."
Why
A frozen column stays in view when the grid scrolls sideways, so its place is worked out from the widths of the frozen columns before it.
What to do
Give every frozen column a width (Column look > Width), and freeze the columns from the first one onwards - or move the column to the front.
"...: it is hidden and required, but nothing fills it ..."
Why
A hidden column cannot be typed in, so a required one would stop every save.
What to do
Give it a starting value or a computed value (Default and state), make it not required, or show it.
"Grid ...: the lines must be ..." / "... the row height must be 24 to 120 pixels." / "... text wraps in None, Header, Content or Both."
Why
A value in the grid's Grid look is out of range or not understood.
What to do
Correct it in Grid look: lines from the list, a row height of 24 to 120, wrap from the list, colours as #rrggbb (or Clear).
"...: the width must be 30 to 1200 pixels." / "... is not a colour - use #rrggbb." / "...: choose the highlight colour ..."
Why
A value in Column look is out of range or not understood.
What to do
Correct it in Column look: widths 30 to 1200, colours as #rrggbb (or Clear for the theme's), a highlight colour from the list.
"...: the approved SQL source ... is not in this company (not approved for the serial, or withdrawn)."
Why
The popup names an sql: source that this company does not have - it was never approved for the serial, was withdrawn, or the design came from another company.
What to do
Choose another Data source, or ask C-Land to approve and apply the source (Studio home > SQL sources shows what is in use).
"...: say what fills @... of ... (a field, or a context value)." / "... has no parameter @..."
Why
Every parameter of an SQL function must be filled from a field of the page or a context value (today, the user, the branch, the financial year, the company code, the report option, the reporting period).
What to do
Select the popup and, under Data source, choose what fills each parameter.
"...: ... is not a column of ..." (a popup on an SQL source)
Why
The popup's value, text, shown columns or fills name a column the approved source does not return - it may have changed when C-Land approved a new version.
What to do
Choose the columns again from the source's list.
"...: ... is an approved SQL source - it is only read, so it can only be a Parent (look-up) table."
Why
A data object writes its Main, Child and Independent tables; an SQL source is read-only.
What to do
Give it the Parent role, linked from a field of the main table.
"SQL: every column needs a name - give worked-out columns an AS name." / an error from SQL Server (Check)
Why
SQL Server describes the source's columns; a worked-out column without a name, a missing table or a typing error stops it.
What to do
Add AS ColumnName to each worked-out column, and correct the table or column SQL Server names.
"Link ...: choose the page it loads from" / "... choose the grid the rows land in" / "row by row needs the quantity column on both sides" / "... is not a column of the grid ..."
Why
A link rule (Links) is missing what it needs: the source page, the grid on each side, or the quantity / amount columns its mode uses.
What to do
Open Links and fill what the message names. Suggest by name pairs the columns that have the same name on both sides.
"Link ...: the page ... is not published" / "... is not a grid of ..." / "... is not a field of ..." (at Publish)
Why
Publish checks each link rule against its source page as that page is published - a field renamed or removed there breaks the rule.
What to do
Publish the source page first, or choose the source's fields again in Links.
"Link ...: on a voucher page the rows land in the product lines" / "... a voucher page takes quantities" / "... name the voucher's quantity column"
Why
On a voucher page a link rule loads designed records into the voucher's product lines, by quantity. Earlier vouchers are linked under the voucher type's own rules (Load from linked, F7).
What to do
Choose the Products grid, a mode that takes quantities, and the voucher's Qty column.
"Links: a panel loads nothing"
Why
A panel shows inside other pages and saves nothing of its own, so it has no link rules.
What to do
Put the rule on the page that saves the rows.
"... create a voucher from this record: choose the voucher page (or page) it creates" / "... choose the link rule of that page that loads this record" / "... a page cannot create from itself"
Why
The action Create a voucher from this record opens another page ready to add and loads this record through one of that page's link rules.
What to do
Choose the voucher page, then its rule. No rule listed? Open that page in the designer, add a link rule in Links that loads from this page, and publish it.
"Create from this record: ... has no link rule ..." / "... loads from ..., not from this page" / "... is not published" (at Publish)
Why
Publish checks that the page the button opens is published with the named rule, and that the rule loads from this page.
What to do
Publish the voucher page with its rule first, or choose the rule again on the action.
"Requested action denied due to security restrictions. This needs the ... right on 'Studio Designer' in User Manager (InvoiceNET® Studio tab)."
Why
InvoiceNET® Studio has one right of its own: Create, Alter and Delete work on designs and data objects; Execute publishes.
"Restricted user permission. Contact Administrator. Your request was denied. Object Name: Studio Designer"
Why
The database itself refused the write: InvoiceNET® Studio's tables carry permission triggers that ask the same 'Studio Designer' right.
No tables to choose from
Why
A data object is built from the company's custom tables, and there are none yet.
What to do
Make the tables first in Masters > Custom Table Designer, with their key fields.
"...: state its key fields. A table without key fields can only be read - make it a Parent table instead."
Why
A table the page writes to must say which field (or fields) identify a row, or a row could never be found again to change it.
What to do
Tick its key fields - usually the primary key the custom table already has.
"\"filled by the database\" needs one key field that is an identity column."
Why
The key fill says the database numbers the rows, but the key field is not an identity column.
What to do
Choose 'typed by the user' or 'made from other fields', or make the column an identity in Custom Table Designer.
"...: a child table needs a relation to the main table (its foreign key)."
Why
Child rows belong to one record through a field that holds the record's key.
What to do
Press 'Read from the database' to take the foreign key, or add the relation and name the fields on both sides.
"Column ... of ... cannot be empty in the database - bind a field to it and make it required, or give it a default."
Why
The column does not allow NULL and has no default, so a record saved without it would be refused by the database.
What to do
Put a field on the canvas bound to that column and tick Required, or give the column a default in Custom Table Designer.
"...: write its hint - one plain sentence under the field saying what it is for."
Why
Every field on an ERP page carries a plain sentence under it (house rule), and a designed page is no exception. A grid explains its rows by itself.
What to do
Select the field and fill in Hint under Binding - say what the field is for, in words the user knows.
"... is filled by the page (the link to the record, or the key) - make the column read-only."
Why
That column is written by the page itself - the link to the record, or a key the database or the page makes.
What to do
Set the column's Read-only to Always, or take it off the grid.
"There is no field {...} on this page." / "There is no function ..." / "'...' is not known. Put a field name in braces"
Why
An expression names a field or a function that does not exist. Fields are written in braces: {Qty}; a grid column inside SUM: SUM({Lines.Amount}).
What to do
Pick the field from the list beside the expression, or correct the name.
"... is not a number column" / "... is not a date column" / "... use a Number control"
Why
The control's kind does not fit the column it is bound to.
What to do
Change the control's kind, or bind it to another column.
"Not published - fix the problems listed."
Why
Publishing checks the whole design and its data object; anything listed stops it. A draft can still be saved.
What to do
Work down the list; each line names the field or the table.
"Saved. Pages already published keep the data object they were published with ..."
Why
A published version is frozen with the data object it was checked against, so a live page never changes by accident.
What to do
Open each design that uses the data object and publish it again.
"The data object ... is used by ... - delete those designs first, or mark it inactive."
Why
Designs still work on it.
What to do
Delete those designs, or mark the data object inactive instead.
"Grid ..., ...: only a number column can show a ... in the totals row - choose Count or Nothing."
Why
Sum, average, smallest and largest need numbers. A text, date or choice column can only count the rows that have a value.
What to do
Select the column and set Totals row > Shows to Count or None - or change the column to a Number or Money control.
"Grid ..., ...: write the expression of its own total ..." / "Grid ..., ..., total: ..."
Why
The column's totals row is set to Custom, and its expression is empty or names a field that is not on the page.
What to do
Write it in Totals row > Total expression, picking fields from the list beside it. A total reads the whole record: header fields, {Grid.Column}, and inside SUM({Grid}, ...) the row's own columns.
"SUM(..., ...) needs a grid first ..."
Why
SUM, AVG, COUNT, MIN and MAX with two values work over a grid: the first value names the grid or one of its columns.
What to do
Write SUM({Grid}, row expression) or SUM({Grid.Column}, condition).
"Print: choose the paper ..." / "Print: the margin must be 5 to 30 mm." / "Print: choose Portrait or Landscape."
Why
The sheet's settings are out of range.
What to do
Open Print layout, click the empty part of the sheet and set Paper, Orientation and Margin.
"Print, block ... : ... is not a field of the page." / "... is not a column of the grid ..." / "{...} is not a field of the page."
Why
A print block names a field, a column or a {Field} that is no longer on the page - usually after a field was renamed or removed.
What to do
Click the block on the sheet and pick the fields or columns again, or correct the {Field} in its text. Field names are the names in braces the page uses.
"Print, block ... : choose the fields it prints." / "choose the grid it prints." / "write the text it prints." / "give 1 to 4 captions ..."
Why
A block on the sheet is still empty.
What to do
Click the block and fill it in, or remove it.
"Print, block ..., printed when: ..."
Why
The block's condition names a field that does not exist or is not written correctly.
What to do
Use the Builder face to pick the field, or correct the expression.
The logo does not print
Why
The sheet prints the logo kept for System Print. None is kept for this company, or Logo is off in the sheet's settings.
What to do
Keep a logo in Voucher Manager > System Print settings, and switch Logo on in Print layout.
"InvoiceNET® Studio is not on this licence ..." / InvoiceNET® Studio screen says "InvoiceNET® Studio is not part of your licence"
Why
InvoiceNET® Studio is a module of its own; the licence does not hold it. Designed pages do not open either while it is missing.
What to do
An administrator adds it in Admin > Subscription and Add-ons, or asks C-Land. After it is added, press the menu's refresh button or sign in again.
"This licence allows ... InvoiceNET® Studio pages ... and ... are made. Buy more pages ..." / New page design is greyed
Why
Every page design counts from the moment it is made, draft or published, for all the licence's companies together. InvoiceNET® Studio includes one page; the rest are bought.
What to do
Buy more pages in Admin > Subscription and Add-ons, or delete a design you no longer need - its page becomes free. InvoiceNET® Studio page shows how many are made of how many allowed.
"The licence server could not be reached, so a new page cannot be made just now."
Why
The number of pages is read from the licence server; while it cannot be reached no new design is made. Everything already made keeps working.
What to do
Check the connection to the licence server and try again.
"Deleting needs the code mailed to the licence's registered e-mail." / "No code has been sent for this yet."
Why
A page design or a data object is deleted only with a six-digit code sent to the licence's registered e-mail.
What to do
Press Send code in the Delete window, then enter the six digits from the mail and press Delete (F5).
"That code is not right, or it has run out. Send a new one."
Why
The code was typed wrong, is older than 30 minutes, was used already, or five wrong tries ended it. Only the newest code sent for that design or data object works.
What to do
Press Send again and use the new code.
"... codes were sent for this in the last hour."
Why
At most five codes are sent for one design or data object in an hour.
What to do
Use the last code sent, or wait a while.
"The licence has no registered e-mail ..." / "This company is not attributed to a licence ..." / "The code could not be sent: ..."
Why
The code goes only to the e-mail recorded on the licence, through C-Land's licence mail account. There is no address recorded, the company is not linked to a licence, or the mail could not be sent.
What to do
Ask C-Land to record the registered e-mail on the licence (or to link the company to it), then send the code again.
"Choose the voucher type the page enters." / "The voucher type ... could not be read ..."
Why
A voucher page enters one voucher type; none is chosen, or the type was renamed or removed in Voucher Manager.
What to do
Choose the type in Voucher type. It is fixed once the design is saved - make a new design for another type.
"... needs ... - put it on the page ..." / "... needs its product lines ..." / "Grid ... needs the column ..."
Why
A voucher cannot be saved without some of its fields: the date, the party, a line's item and quantity, an accounting line's account and amount, and the custom fields the type makes compulsory.
What to do
Drag the field named from the toolbox (Voucher fields, Custom fields, or the grid's own list) onto the page.
"... is worked out by the voucher - make it read-only (Always) ..."
Why
Totals, tax and line amounts are the voucher's own arithmetic; a page may show them but never type or compute them itself.
What to do
Select the field, set Read-only to Always and clear its Computed value.
"... is an inventory voucher - it has product lines and sundries, not account lines." / "... is an accounting voucher ..."
Why
Each voucher type has its own grids: inventory vouchers have product lines and sundries, accounting vouchers have account lines.
What to do
Remove the grid that does not belong; the toolbox lists the right ones.
"... has no field ..." / "... a column of ... must be one of its own fields." / "... is on the page twice."
Why
A voucher control names a field the voucher type does not have, a voucher grid holds a column that is not its own, or one field is shown twice.
What to do
Remove the control, or drag the right field from the toolbox.
"Data object ...: on a voucher page the main table holds one row per voucher ..." / "... only a voucher page can use it." / "... has no link to it ..."
Why
A voucher page keeps its own tables with each voucher: the main table has one row per voucher, keyed by the voucher's number; extra grids are child tables linked by that number (and the type). A table keyed that way serves only voucher pages.
What to do
In the data object set the main table's key to "The voucher's number" (a whole-number column, plus a text column for the type), and make the other tables children of it.
"...: 'the voucher's number' needs one whole-number key field ..." / "the voucher type column ... must hold text."
Why
The voucher's number is a whole number the writer gives; the key column must be able to hold it and must not be an identity.
What to do
Choose a bigint (or int) column as the only key field; keep the type in an nvarchar column.
A published page is not on anyone's menu
Why
The menu shows a designed page only to people who hold View on it.
What to do
Give View on the page's row in User Manager > Permissions > InvoiceNET® Studio. Then refresh the menu.
"... comes with the custom module CUS_... It is changed in the company it was made in ..."
Why
The design (or the data object it uses) was brought by a custom module. The module copies it in again whenever it is applied, so a change made here would be lost - it is read-only here.
What to do
Change it in the company it was made in, publish it there, then in Licence Admin press Take the latest version on the item, save the items and apply the module.
"... comes with the custom module ... and cannot be exported."
Why
A design a custom module brought belongs to the module, not to this company.
What to do
Export it from the company it was made in.
"Tick at least one published design to export." / "... has never been published - only a published version travels."
Why
A package carries published versions only, so a design that has never been published cannot go.
What to do
Publish the design first, then export it.
"... is not an InvoiceNET Studio package." / "... cannot be read as an InvoiceNET® Studio package." / "... is larger than 20 MB."
Why
The file chosen for Import is not one InvoiceNET® Studio's Export made, or it is damaged or too large.
What to do
Choose the .json file Export designs made in the other company.
"The package was made by a newer InvoiceNET ..."
Why
The other company runs a newer version that writes packages this one cannot read yet.
What to do
Ask for this company's InvoiceNET to be updated, then import again.
"Design ... is here already - tick Replace ..." / "Data object ... is here already and differs - tick Replace ..."
Why
A design or data object with the same code is in this company. Import never overwrites one unless asked.
What to do
Turn Replace on to put the package's version in its place (a new version - the old ones stay under Versions), or rename one of them.
"Design ...: there is already a page design with that code here." (or a report design)
Why
The code is used here by a design of the other kind - pages and reports share one list of codes.
What to do
Rename the design in the company it comes from, export it again and import that.
"The package adds ... and this licence has room for ... more ..."
Why
Every design imported as new counts against this company's licence, pages and reports apart.
What to do
Buy more pages or reports in Admin > Subscription and Add-ons, or export fewer designs.
"Table ... is in this company already but is not a custom table ..." / "Table ... is linked to ..., which is not in this company."
Why
A table the package needs exists here as a table the Custom Table Designer did not make, or the table it is linked to (its object) is missing.
What to do
Rename or register the table in Custom Table Designer, or create the linked table first, then import again.
"Table ..., column ... is ... here and ... in the package - left as it is." / "... a numbering (identity) column and cannot be added ..."
Why
Import adds the columns a table is missing but never changes or removes one, so data is never lost. These are listed for a look; the import went ahead.
What to do
If the design needs the column as the package has it, change it in Custom Table Designer.
"Report ... reads ..., which is not in this company - it will refuse to run until it is."
Why
A report in the package reads a table or view that is not in this company (a package carries custom tables only).
What to do
Create that table or view here, or change the report to read another one.
"... cannot run when a record is shown - it runs ..." (or before saving / after saving)
Why
Each moment runs only some actions: e-mail and approval run after saving or from a button (on the saved record); a stop or a question before saving or from a button.
What to do
Move the action to a moment the line names, or onto a Button.
"Button ...: give it at least one action." / "A button needs the words it shows." / "... write its hint ..."
Why
A button needs its words, the line under it and something to do.
What to do
Select the button and fill When pressed in its properties.
"... {...} is not a field of the page."
Why
A message, e-mail or title names a field the page does not have ({Today} and {User} are always there).
What to do
Use a field's name exactly as on the canvas, or remove the braces.
"..., Level N: choose at least one approver - a user or a user group." / "... add the first level and its approvers."
Why
Every approval level needs somebody to decide it.
What to do
In the Request approval action, pick users or groups for each level.
"A page asks for approval in one place only ..."
Why
A page has one approval flow - after saving, or from one button.
What to do
Keep one Request approval action and remove the others.
"... the state is written to ..., which is not a field ..." / "... must be a text field." / "... make it read-only."
Why
The field that shows Pending / Approved / Rejected must be a read-only text field bound to a column.
What to do
Add a Text field bound to a text column, make it read-only, and choose it as the state field.
"... a voucher page cannot ask for approval here ..." / "... a panel cannot ask for approval ..." / "... a panel cannot send e-mail ..."
Why
Approval belongs to pages over custom tables (a voucher's approval is the voucher workflow's); a panel only keeps fields.
What to do
Put the action on a page over custom tables.
"Panel: choose the screen it opens from ..." / "Panel: choose the column of ... that holds ..."
Why
A Custom Fields panel needs its host - a master or a voucher type - and the whole-number column that keeps the host record's key.
What to do
Fill Opens from, the master or voucher type, and Host's key kept in at the top of the designer.
"Panel: ... must be a whole-number column ..." / "... is filled by the database ..." / "... is an independent table ..."
Why
The host's key needs a plain whole-number column of its own; a panel keeps rows of its host record only.
What to do
Add an int column for the key in Custom Table Designer, and leave independent tables out of the panel's data object.

This is the help InvoiceNET® ERP shows beside the InvoiceNET® Studio screen. Whether you have the screen depends on the modules of your licence and the rights your administrator has given you.

See this screen for yourself

The demo is the real product, with a company of your own.

Something went wrong. Please reload the page. Reload ×