ZuloOne
English
Sign in
Menu

📊 Register report views

Updated

Register report views are the delivered layouts for totals: grouping, opening, incoming, outgoing and closing columns. They are not custom reports; they are views over accumulation registers.

← Business processes

How the process works#

Each view is a metadata file under Reports\Views and is bound to one register. Users open the register from a module's Registers group; when a delivered layout exists, the totals screen can build the grouped table from that layout.

Most delivered layouts hide rows whose closing balance is zero for every resource (nonZeroBalance: true). The Purchases by supplier and item layout keeps a row that moved in the period even when the cumulative closing is zero (nonZeroTurnover: true): a receipt and a full return in the same month must still show. The report still shows opening, income, outcome and closing columns for each resource.

Settings#

There is no user-editable settings card for these layouts. The delivered setup is the metadata itself:

View Register Grouping Resources
StockByItemCell Stock item, cell quantity
ReservedByItemCell ReservedStock item, cell quantity
InventoryValueByItem InventoryValue item quantity and value
WipByItemCell WorkInProgress item, cell quantity
ReceivableByCustomerContract Receivable customer, contract amount
ReceivableByBasis ReceivableByBasis customer, contract, basis amount in the contract currency
PayableBySupplier Payable supplier amount
PayableBySupplierContract Payable supplier, contract amount
PayableByBasis PayableByBasis supplier, contract, basis amount
PurchasesBySupplierItem Purchases supplier, item quantity and amount
CashBalanceByDesk CashBalance cash desk amount in the desk currency
BankBalanceByAccount BankBalance bank account amount in the account currency
RevenueByItemCustomerContract Revenue item, customer, contract quantity and amount without tax
GlByLegalEntityAccount GL legal entity, account debit and credit
TaxLedgerByCodeDirectionEntity TaxLedger tax code, direction, legal entity tax base, tax amount, recoverable amount
LoyaltyPointsByCustomer LoyaltyPoints customer points
PayrollLiabilityByEmployee PayrollLiability employee amount and withheld
SocialInsuranceByEmployee SocialInsurance employee employee and employer contributions
UaPayrollLevyByEmployeeCode UaPayrollLevy legal entity, employee, tax code base, amount, transferred
UaVatPayableByCustomerContract UaVatPayable customer, contract amount
UaVatCreditBySupplier UaVatCredit legal entity, supplier amount

Example with numbers#

A customer has an opening receivable of 120, a new issued realization for 80 and a payment for 50 in the period. The Receivable by customer and contract view shows one row:

Opening Income Outcome Closing
120 80 50 150

If the closing balance becomes zero, the row is hidden by the delivered layout. This is why a paid document may disappear from the balance view even though turnover existed in the period.

Reconciling with 1C#

Five layouts exist to compare Zulo with 1C:UT after a migration, side by side with the 1C turnover sheets for the same period. Each has the same four columns of Amount: opening, income, outcome, closing.

Question Zulo layout (menu) Compare with in 1C
Who owes us, by contract and settlement document Receivable by customer, contract and basis (Sales → Registers → Receivable by basis) ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов, by contract and deal
What we owe a supplier, by contract Payable by supplier and contract (Purchasing → Registers → Accounts payable) ВзаиморасчетыСКонтрагентами, by contract
What we owe a supplier, by order or receipt Payable by supplier, contract and basis (Purchasing → Registers → Accounts payable by basis) the same register, by deal
Cash in each cash desk Cash by desk (Accounting → Registers → Cash balance) ДенежныеСредства, by cash desk
Money on each bank account Money by bank account (Accounting → Registers → Bank balance) ДенежныеСредства, by bank account

Stock is compared with StockByItemCell against ТоварыНаСкладах: the 1C loader puts a store's stock in its one storage cell.

The basis is the document the debt hangs on: the customer or supplier order; a realization or receipt that had no order; or, for an order from before the cut-over, the record the opening load made for it. An empty basis is an advance or a debt the 1C row did not tie to a document.

Example: one contract across the cut-over#

The opening load runs on 2025-01-01. In 1C, contract A had one open order from 2024 for 1 000. In January 2025 the customer pays 600 against that order, gets a new invoice for 500 on order 2, and pays an advance of 200 with no basis. Build Receivable by customer, contract and basis for January 2025:

Basis Opening Income Outcome Closing
order 1 (from 2024) 1 000 0 600 400
order 2 0 500 0 500
empty (advance) 0 0 200 −200

The three rows add up to 700. Receivable by customer and contract shows one row with the same closing 700. If the two layouts disagree, a posting wrote one register and not the other, and that is a defect to report. The 1C sheet by settlement document shows the same three lines; 1C shows the advance as a minus too.

In Payable by supplier and contract, compare the absolute value. 1C keeps the counterparty's debt to us, so 3 000 owed to a supplier is −3 000 in ВзаиморасчетыСКонтрагентами and 3 000 in Zulo.

What to check in the period#

  • Start the period on the cut-over date. The opening documents are dated one second before it, so the loaded balances land in Opening, not in Income.
  • Cash and bank are in the account's own currency. A desk in USD shows dollars. Compare with the 1C amount in the account's currency, not with the management-currency column.
  • Debt is in the contract currency. The opening load takes only contracts in the legal entity's currency; a foreign-currency contract is not loaded and has no row.
  • A difference on one contract only. Before you look for a posting error, check the migration's load state for that contract. 1C's detail by settlement document does not always add up to its own contract total; the loader posts the detail and records the difference as a note instead of posting it.

The 1C loader itself is a tenant model, not part of the delivered models; its setup lives with that tenant.

Boundaries and edge cases#

  • The grouping names are object field names, not captions. A layout groups Receivable by SalesContract, even when the UI caption says contract.
  • Empty column captions are replaced by the column kind in the UI language. When two resources use the same kind, the resource caption is added.
  • A view does not create postings and does not change register totals. It only reads them.
  • The period controls what is opening, income, outcome and closing; zero-closing rows are hidden after that calculation.

What is posted#

Nothing is posted by a view. Postings come from the source documents: purchase receipts write Payable and Purchases, realizations write Receivable and Revenue (amount and quantity), production writes WorkInProgress, tax documents write TaxLedger, and so on. Every document that moves Receivable also moves ReceivableByBasis by the same amount, and the same holds for Payable and PayableByBasis; payments and cash documents move CashBalance or BankBalance.

What's not there yet#

  • There is no user-facing designer for report views. Layouts are shipped with the models.
  • Most analytical pages are register totals, not report objects. The custom report in the workspace is GrossMarginReport.
  • A total row does not open source documents. Open the document or a manual journal separately.
  • There is no report that reads 1C balances and lists the differences.
  • Cash and bank totals have no counterparty or cash-flow article. Payments still write only the desk or account.

Same topic for other readers: User · Developer

Where next#

Was this page helpful?