Ceres
User manual
How to sign in to Ceres, what each profile sees, and how to run the restaurant's day, from the counter sale to the kitchen ticket and the month's closing.
Updated on Thu Sep 03 2026 00:00:00 GMT+0000 (Coordinated Universal Time)
User manual
Ceres is Neural Thinkers Lab's restaurant operations platform. It records the counter sale, issues the tab, sends the order to the kitchen, controls the menu, keeps purchases and accounts payable, and consolidates the period's result.
This manual covers the common path. For the detail of every screen and every field, see the full manual.
Who uses the system
Ceres recognizes four staff roles, and the menu changes with yours:
- Administrador (Administrator): sees the whole system, including Números do mês (Month's numbers) and Configurações (Settings).
- Equipe (Staff): sees everything except Números do mês and Configurações. Runs the counter, the kitchen, purchases and accounts.
- Estagiário (Intern): sees the same menu as Staff, but Cardápio (Menu) is read-only ("Somente leitura: seu perfil não altera o cardápio." — Read-only: your profile doesn't change the menu) and Carreiras (Careers) is blocked.
- Cozinha (Kitchen): gets no side bar at all. Lands directly in the kitchen queue and only reaches Meu perfil (My profile); any other address sends you back to the kitchen.
Besides these, there's the cliente (customer): whoever has a monthly-tab registration signs in through the same address and lands in their own area, not in the system. Described at the end of this manual.
Who sets each person's role is the administrator, under Configurações.
First access
- Open
ceres.ntlabs.dev. The homepage is public; the system sits behind Entrar (Sign in). - On the sign-in screen you can use Google, GitHub, Meta, LinkedIn, Microsoft or Banco do Brasil, email and password, or passwordless via Código WhatsApp (WhatsApp code) or Link por email (Email link).
- There's no sign-up on the sign-in screen. Your account is created by whoever manages the restaurant.
- Once signed in, the system checks your role and takes you to the right place: the system with its side bar, the kitchen queue, or the customer area.
If "Não foi possível confirmar seu acesso agora. Tente novamente." (Couldn't confirm your access right now. Try again.) shows up, the system couldn't confirm who you are and would rather not guess. Tap Tentar novamente (Try again).
Whoever bookmarked the old /gestao address still gets there: those
addresses redirect to /sistema.
How the system is organized
The side bar groups screens into four sections:
| Section | Screens |
|---|---|
| Atendimento (Service) | Vendas (Sales) · Comanda (Tab) |
| Cozinha (Kitchen) | Ficha do dia (Day sheet) · Grelhados (Grilled orders) · Reposição (Restock) · Cardápio (Menu) |
| Compras e contas (Purchases & accounts) | Compras (Purchases) · Fornecedores (Suppliers) · Contas (Bills) · Saídas (Other entries) |
| Gestão (Management) | Mensalistas (Monthly tabs) · Produtos (Products) · Números do mês (Month's numbers) · Carreiras (Careers) · Configurações (Settings) |
Meu perfil (My profile) and Sair (Sign out) sit outside the groups, at the bottom of the side bar. The header carries the restaurant's name and the accessibility menu, with text size, high contrast and VLibras.
The top of the side bar leads to the Painel (Panel). It's still a structural screen: it shows four cards ("Faturamento do mês"/Month's revenue, "Despesas do mês"/Month's expenses, "Contas em atraso"/Overdue bills and "Resultado"/Result), all with a dash in place of the number, and notes that values will come from the API. Whoever wants a number should look at Números do mês.
Recording a sale
Vendas (Sales) is the counter screen, and it's a single form.
- Type the amount. Pressing Enter already records the sale.
- Choose the payment method:
Crédito(Credit),Débito(Debit),PIX,Dinheiro(Cash),Mensalista(Monthly tab) orVoucher. - If you choose
Mensalista, a customer becomes required. Search by code, phone or name. The code is the fastest path, because the customer usually knows theirs by heart. - The product isn't required: the clock decides between lunch and dinner. Tap Trocar (Switch) only on the day the clock gets it wrong.
- The main button's label changes with the payment method. For cash, PIX, monthly tab or voucher it reads Registrar venda (Record sale). For credit or debit it reads Cobrar na maquininha (Charge on the card terminal), because the same tap records the sale and sends the amount to the terminal.
Once recorded, the sale shows up under Vendas de hoje (Today's sales), with the total by payment method. A sale is never deleted: a sale whose receipt failed to issue is still a sale.
Dictating the sale
Above the form sits 🎤 Falar a venda (Speak the sale). You speak, tap Conferir venda (Check the sale), review what the system understood, and tap Usar estes dados (Use this data). Voice only fills in amount, payment method and customer name; the button that actually records the sale is still the one on the screen. If the spoken name matches more than one customer, the button stays locked until you choose.
Voice never issues a fiscal receipt. If you mention a receipt while speaking, the screen notes it heard you, and the document is still chosen by hand.
Voice recognition depends on the browser and doesn't exist in all of them. When it doesn't, the screen reads "Este navegador não reconhece voz. Use os botões." (This browser doesn't recognize voice. Use the buttons.), and the manual path stays fully available.
Charging on the card terminal
The terminal block only shows up for a sale that's already recorded, and the
amount is never typed into it. While the customer decides, the screen shows
"O valor já está na maquininha. O cliente escolhe crédito, débito ou PIX lá."
(The amount is already on the terminal. The customer chooses credit, debit or
PIX there.) and tracks the result: Aguardando o cliente na maquininha
(Awaiting the customer at the terminal), Pago (Paid), Recusado (Declined),
Cancelado (Cancelled) or Expirou sem pagamento (Expired without payment).
When payment goes through the terminal, the payment method came from there
and wasn't typed in.
If the terminal isn't configured, the block simply doesn't show up. If talking to it fails, the screen reads "Não foi possível falar com a maquininha. Cobre nela e registre aqui depois." (Couldn't reach the terminal. Charge on it and record here afterward.)
Fiscal receipt: read before using
Inside Vendas, the collapsible Cliente e nota fiscal (Customer and
fiscal receipt) block carries CPF or CNPJ, customer name, the Emitir nota
fiscal (Issue fiscal receipt) toggle, the choice between Pré-venda (sem nota) (Pre-sale, no receipt), Cupom (NFC-e) (Receipt) and Nota (NF-e)
(Invoice), additional information, and the field to send the receipt by
WhatsApp or email.
No issuer is currently accredited with the state tax authority (SEFAZ). Turning the toggle on tends to leave the sale with a pending receipt, and the receipt-sending field has no effect at all: it doesn't issue, doesn't deliver, and doesn't notify. The sale itself is recorded normally. Confirm with whoever manages the restaurant before promising a receipt to a customer.
There are also two fiscal screens outside the menu, reachable only by direct address: standalone NFC-e issuance and the cancellation of a numbering range, the latter restricted to the administrator. Both have real fiscal effect and consume serial numbers, so they aren't a routine path.
Issuing a tab (Comanda)
Comanda (Tab) is quick tab issuance and tracking a running credit ("fiado"). It's restricted to staff; whoever isn't part of the team sees "Acesso restrito à equipe." (Access restricted to staff.)
- Type the name and amount in the format shown by the screen's example.
- The system looks up the day's price per kilo and shows whether it's using
the
Semana(Weekday) orFim de semana(Weekend) price. There's a Recarregar preço sugerido (Reload suggested price) option when needed. - Pick the customer from search. If not found, Não achei — cadastrar rápido (Couldn't find them — quick register) opens a registration form with name, mobile number, email and CPF. The register button only enables once the name is filled in and LGPD consent is checked.
- Registrar comanda (Record tab). The system calculates the weight from the amount and the price per kilo.
The result shows the tab number prominently, with customer, amount and weight, and three outputs: Imprimir via (Print copy), Enviar (Send) and Nova comanda (New tab). A customer with no contact on file returns "Cliente sem WhatsApp/e-mail cadastrado — nada a enviar" (Customer has no WhatsApp/email on file — nothing to send).
The kitchen
Ficha do dia (Day sheet) — the queue
The Ficha do dia menu item opens the order queue, which the screen labels Cozinha (Kitchen). Orders arrive split by station, in two tabs: Grelha (Grill) and Fria (Cold). Each order shows the table (or Reposição/ Restock, when it didn't come from a table) and how many minutes it's been waiting.
Tap Aceitar (Accept) when you take the order and Pronto (Ready) when you finish it. If someone else advances the same order first, the screen warns you.
Without a connection, the queue doesn't pretend to be current: it reads "Sem conexão — fila desatualizada" (No connection — queue out of date) and explains a new order may have come in that isn't shown.
Ficha do dia (Day sheet) — the sheet itself
Inside the queue there's a link to the sheet proper, which is also called Ficha do dia.
- Fotografe (Photograph) the handwritten sheet.
- The system transcribes it, and you review and correct the dishes, pan by pan and tray by tray. Every field is editable.
- Confirmar (Confirm) saves the sheet. Ingredients are then inferred in a second step right after, because it takes time.
- The sheet becomes a checklist: check off what you already have on hand. Each dish shows "tudo em casa" (all on hand) or how many items are missing.
- Enviar lista de compras (Send shopping list) sends what's missing. The result is reported per channel, email and WhatsApp separately, never a generic "sent".
Refazer a ficha de hoje (Redo today's sheet) restarts the cycle.
Grelhados (Grilled orders)
The waiter enters a grilled order. Fill in the mesa (table), adjust each
item's quantity with the minus and plus buttons, and choose the doneness
between MAL (Rare), PONTO (Medium) and BEM (Well done) for items that
call for it. Enviar pedido (Send order) sends it to the Grelha tab of the
kitchen.
This screen also has 🎤 Falar a comanda (Speak the order): you speak, tap Conferir pedido (Check the order), review the card that appears, and tap Confirmar (Confirm). Here, unlike the spoken sale, Confirm actually creates the order and announces it to the kitchen. When the announcement fails, the order still goes through: "Pedido enviado. A cozinha vê na tela" (Order sent. The kitchen sees it on screen.)
Reposição (Restock)
"Toque no que acabou." (Tap what ran out.) Check the items and, if needed, write in the "Falta mais alguma coisa?" (Anything else missing?) field. Enviar (Send) notifies the kitchen, sent per station. If one station fails and the other doesn't, the screen states exactly which one to resend. The notice shows up in the kitchen queue as Reposição (Restock), with no table.
Cardápio (Menu)
"Desligue o que acabou e ligue de volta quando voltar a ter." (Turn off what's out, turn it back on when it's back.) Each item has a toggle between No menu (On the menu) and Fora (Off); a switched-off item also gets the Inativo (Inactive) mark on the same row. Removing asks for confirmation right on the row: "Remover de vez? Isso não volta." (Remove for good? This can't be undone.)
The item form has name, description, category, price, whether to show the price on the menu or not, and the order within its category. An item with no price set shows up as "preço do dia" (today's price).
Interns and kitchen staff see the menu, but can't change it.
Purchases and accounts
Compras (Purchases)
Record the purchase with supplier, category, amount, date and description. Tirar foto da nota (Photograph the receipt) saves the image and tries to read the fields; the reading only fills in an empty field and never overwrites what you've already typed. If the photo uploads and the reading doesn't come out, the screen reads "Nota guardada. Não deu para ler os campos — preencha à mão." (Receipt saved. Couldn't read the fields — fill them in by hand.) That's not an error. There's also the option to paste a link instead.
Fornecedores (Suppliers)
Supplier registration with a CNPJ search that fills in the rest. Each supplier has an Ativo / Fora (Active / Off) toggle, and a deactivated one gets the Inativo (Inactive) mark.
Contas (Bills)
Accounts payable, with two totals at the top: Em atraso (Overdue) and Em aberto (Open). The list comes grouped in fixed order: Atrasado (Overdue), Vence hoje (Due today), Em dia (Current) and Pago (Paid). In the Due today group, each bill carries the Hoje (Today) mark.
Marcar como paga (Mark as paid) asks for confirmation with the name and amount. + Nova (+ New) opens the form with supplier, category, amount, due date, document number and notes.
Saídas (Other entries)
Entries that don't go through the counter, in a four-step wizard:
- Type (Saída/Outflow or Entrada/Inflow) and amount. There's 📷 Escanear documento (Scan document), which reads the paper and fills in amount, category, customer or supplier, payment method and date. If the reading fails, the screen asks you to type it in by hand.
- Category, in a grid of buttons, filtered by the chosen type.
- Customer or supplier, payment method and date.
- Summary and Confirmar (Confirm).
The day's revenue is read under Vendas, not here.
Management (Gestão)
Mensalistas (Monthly tabs)
The Mensalistas menu item opens the screen the page vignette calls
Fiado (Running credit). It doesn't record a running credit — that's done
by choosing Mensalista on a sale — it shows who owes.
At the top, the total under Fiado em aberto (Open running credit); below, the list sorted from the largest balance to the smallest, with the amount, the number of entries and the date of the last one. Each debtor shows one of three states: the Cobrado hoje (Charged today) mark, the "Sem WhatsApp cadastrado" (No WhatsApp on file) notice, or the Cobrar (Charge) button.
Cobrar asks for confirmation and sends the reminder by WhatsApp, one debtor at a time. There's no charge-all option. The result is explicit: either "Lembrete enviado" (Reminder sent), or "A cobrança foi registrada, mas o WhatsApp não foi entregue." (The charge was recorded, but the WhatsApp message wasn't delivered.)
Produtos (Products)
Catalog of what's sold, with price per unit or per kilo and, optionally, a different weekend price, which applies Saturday, Sunday and holidays. The list writes the price out in full, like "por quilo" (per kilo) or "por unidade" (per unit), and shows "sem preço cadastrado" (no price on file) when there isn't one.
A product is never deleted: only Desativar (Deactivate) and Reativar (Reactivate), because sales already recorded point to it. The product's identifier also doesn't change once created.
There's a collapsible Fiscal (avançado) (Fiscal — advanced) section with NCM, CFOP, CSOSN and approximate tax rates. Left blank, the product inherits the house default. The tax-rate figure comes from the activity's IBPT index: ask accounting instead of estimating it.
Números do mês (Month's numbers)
Restricted to the administrator. The Números do mês menu item opens the screen the page itself titles BI. Whoever isn't an administrator sees "Acesso restrito" (Restricted access) and the explanation that the financial result belongs only to the owner.
Choose the period under De (From) and Até (To). The default runs from the first day of the month through today. At the top, four indicators: Faturamento (Revenue), Despesa (Expense), Resultado (Result) and Margem (Margin). With no revenue in the period, margin shows up as a dash and never as zero, because undefined isn't the same as null.
Below sit the charts: revenue and expense by month, expenses by category, expenses by supplier, and the year-over-year comparison, in revenue and in expense.
Carreiras (Careers)
Restricted to administrator and staff. Interns and kitchen staff see "Acesso restrito" (Restricted access) and the explanation that the screen shows candidates' personal data.
There are two tabs. Under Vagas (Openings), each opening is Rascunho
(Draft), Aberta (Open) or Fechada (Closed), with the Publicar
(Publish), Fechar (Close) and Reabrir (Reopen) actions. A new opening
is born a draft. Closing takes the opening off the site instantly and doesn't
delete any application.
Under Candidaturas (Applications), filter by opening and by stage. The stages are Recebida (Received), Triagem (Screening), Entrevista (Interview), Aprovado (Approved), Reprovado (Rejected) and Desistiu (Withdrew). The candidate's detail carries an internal note, visible only to staff, and the résumé link, generated on the spot with a short validity: documents with personal data aren't reforwarded.
Configurações (Settings)
Restricted to the administrator. Lists Equipe (Staff), with each person's role and the Ativo / Fora (Active / Off) toggle; whoever is deactivated also gets the Inativo (Inactive) mark.
The system stops the last active administrator from demoting or deactivating themselves: "Você é o único admin ativo — promova outro membro antes de mudar seu papel ou se desativar." (You're the only active admin — promote someone else before changing your role or deactivating yourself.)
My profile and signing out
Meu perfil (My profile) sits at the bottom of the side bar. There you edit your display name; email and role are read-only. It's also where the Sair (Sign out) button lives, and it's the only sign-out screen in the system, which matters on the kitchen's shared tablet.
The customer area
Whoever holds a monthly-tab registration signs in through the same login and lands in their own area, not in the system.
On first access, the system asks you to complete your registration: full name, CPF, mobile number, optional email, your usual Dias habituais (Regular days) from Monday to Friday, a dietary restriction if you have one, and your summary preference among Diário (Daily), Semanal (Weekly), Só no fechamento (Only at closing) and Nenhum (None). You need to read the privacy notice and check Li e concordo (I've read and agree) before Concluir (Finish). If your WhatsApp is missing, the Confirme seu WhatsApp (Confirm your WhatsApp) screen shows up first, because that's how receipts arrive.
On the area, the customer sees their own número de cliente (customer number), used to identify themselves at the register, their Comandas em aberto (Open tabs), their Saldo total (Total balance) and, on each tab, the Baixar comprovante (Download receipt) button. With nothing open, the screen says they're all settled.
Offline
Ceres can be installed as an app on the kitchen's tablet. When the network drops mid-service and a screen doesn't load, "Você está sem conexão" (You're offline) shows up, noting Ceres will be back once the connection returns.
Operational screens warn you when what's on screen may be stale: the kitchen queue, restock and grilled orders read "Sem conexão — lista desatualizada" (No connection — list out of date), instead of showing an empty list that would look like "there's nothing here".
When a screen doesn't load
On money-related screens, Ceres never shows an empty list when the query failed. If the system couldn't load, it states what it no longer knows: that it can't tell who currently owes, or what's coming due, or that the period's total can't be verified. An empty screen means there's nothing there; one of these notices means the system doesn't know. Don't confuse the two.
The same applies to sending: almost every action that uses WhatsApp or email states which channel went out and which didn't, instead of a generic "sent". "Sent" never meant "delivered".
What doesn't exist yet
These things show up in presentation text, in screen titles or in in-product notices, but aren't implemented today. Don't count on them:
- Reservas (Reservations) and a conversational concierge: there's no screen at all for this in the system.
- Fiscal issuance: with no issuer accredited at SEFAZ, the receipt toggle and the receipt-sending field don't produce an actual invoice or a delivered receipt.
- Certificates and the Internship module: the screen exists, but is empty, with a notice that the interface will be built once the matching module is available.
- Painel (Panel): the four indicators show a dash; the period's numbers are under Números do mês.
- Marking a holiday on a sale: the Products help text mentions that staff mark a holiday on the sale, but there's no such control on the Sales screen.
Ceres also currently serves one organization per installation. Don't treat data as separated by restaurant within the same installation.
Your data
Ceres keeps personal data for customers and job candidates. The quick
counter-side registration and the monthly-tab registration only complete
with consent checked, access to candidate data is limited by role, and the
résumé link is generated on the spot and expires. The terms, the privacy
policy and the data protection officer's channel live at www.ntlabs.dev.