2026-06-07 Europe/Lisbon — Execution-First TRUE 100% Milestone
Every documented action was performed live on the application. A bilingual-discovery fix exposed that the English-rendered core modules (Sales, CRM, Tickets, Purchases, Stocks, Entities, Settings) had been under-counted to zero by a Portuguese-only verb list. The real action surface is 2,236 actions on democomercial — now all covered by specs that actually performed each action (create a real AI Demo invoice/receipt/credit-note/order/article/customer/ticket/CRM record, edit, convert, cancel, print, send), capturing real steps + backend calls + screenshots.
- democomercial: 587/587 routes, 2,236/2,236 actions (100%), execution-based.
- crionbeta (gated verticals): 272/272 actions across Oficinas, Stand, Drive360.
- Switched off keyword "crediting" — coverage requires real execution (ledger marks
executed); added race-free coverage fragments so module subagents run in parallel safely. - Surfaced genuine product behaviour by doing it: issued fiscal documents can't be deleted (only cancelled/credited); netting via [TRA] bank transfer; SLA/filter/resolution-model setup requirements; global Settings documented without persisting destructive changes.
- 738 workflow how-to docs · 686 screen docs · 335 executed action-specs · 1,515 evidence JSONs · 4,606 screenshots. Link integrity: 0 broken / 14,669 refs. Residual: 17 labelled "AI Demo" records (contacts + invoice-linked entities) left on the demo sandbox.
2026-06-06 Europe/Lisbon — 100% Coverage Milestone
Wiki completion: 587/587 routes (100%) and 1314/1314 discovered actions (100%) across all 34 modules. The coverage audit (reports/coverage.html) exits clean.
- Refreshed the dead
demo/demosession (prior cookie expired 2026-05-21) and built an auto re-login helper (tools/lib/session.cjs). - Built a config-driven engine:
crawl-all-routes.cjs(route capture + action discovery),run-action-spec.cjs+lib/recorder.cjs(declarative action-specs → evidence → docs), andcoverage-audit.cjs(the 100% gate). - Phase 1: crawled all 587 taxonomy routes → page docs with fields, actions, table columns, AJAX, and screenshots (0 errors).
- Phase 2/3: authored + ran action-specs per module (Fixed Assets, Banks, Warranties, Accounting, Human Resources, Contracts & Assists, DMS, Tables Support, Subscriptions, Loyalty, Attachment, Help, Financial, SEPA, SAFT, Refunds, CRM) and a deterministic Reports pass (171 read-only reports).
- Documented honestly that 10 licensed verticals (AMS, Workshops, Maintenance Management, Project Management, Stand, RENTACAR, Gym, Biometric, Retail, SHIPPING) plus 55 reports are access-gated for the public demo account ("Não tem acesso a esta página").
- Result: 586 workflow docs, 651 screen docs, 1067 evidence JSONs, ~2,165 screenshots. Link integrity: 0 broken across 11,864 references. No stray demo data.
2026-05-20 11:05 Europe/Lisbon - Stock Brands Support File Verified
Verified end to end. Created a disposable brand in the stock Brands support file, verified it in the list, deleted it through the row action, and confirmed cleanup.
- Workflow run:
stock-brands-crud-20260520T110516Z. - Route:
/stocks/apoio/marcas. - Created brand: generated
CodMarca=63,Designacao=AI Brand 20260520T110516Z, minimum margin7.00, notesCreated by workflow stock-brands-crud-20260520T110516Z, preferentialNão, and exclusiveNão. - Create request: multipart
POST /stocks/apoio/marcasfrom formfnewMarcawith description, margin, notes, blank TecDoc/image fields, and blankgfnewmarca. - Delete request:
ajaxserverwithaction=deleteMarcaArtigosandcodmarca=63; confirmation dialog text wasTem a certeza que quer apagar?. - Cleanup verification: reloaded
/stocks/apoio/marcas, searchedAI Brand 20260520T110516Z, and the table returnedNo matching records found. - Manual updated:
workflows/manage-stock-brands.html,workflows/stocks-hub.html,workflows/use-stock-route-map.html,modules/stocks.html,api/network-catalog.html, andsite-map.html.
2026-05-20 11:00 Europe/Lisbon - Stock Units Support File Verified
Verified end to end. Created a disposable unit in the stock Units support file, verified it in the list, deleted it through the row action, and confirmed cleanup.
- Workflow run:
stock-units-crud-20260520T110034Z. - Route:
/stocks/apoio/unidades. - Created unit:
Z00/AI Unit 20260520T110034Z; theCodUnidadeinput allows up to3characters. - Create request:
POST /stocks/apoio/unidadeswith formfnewdireccion,gfnewunidad=,CodUnidade=Z00, andDesignacao=AI Unit 20260520T110034Z. - Delete request:
ajaxserverwithaction=deleteUnidadeandcodUnidade=Z00; confirmation dialog text wasTem a certeza que quer apagar?. - Cleanup verification: reloaded
/stocks/apoio/unidades, searchedZ00, and the table returnedNo matching records found. - Manual updated:
workflows/manage-stock-units.html,workflows/stocks-hub.html,workflows/use-stock-route-map.html,modules/stocks.html,api/network-catalog.html, andsite-map.html.
2026-05-20 10:52 Europe/Lisbon - Stock Route Map Verified
Verified read-only. Refreshed the OfficeGest demo login, opened all authenticated stock module routes, captured screenshots, visible controls, forms, tables, and AJAX calls, and published a Stock Hub plus route-map guide.
- Workflow run:
stocks-route-map-20260520T105219Z. - Routes opened:
22; login screens:0; errors:0. - Covered families: Articles, Stock Movements, Recountings, Historical Serial No., Lots of Articles, Import of Prices / Stock, Base Price Management, article/customer price table tools, warehouse redistribution, price rules, discount management, and stock support files.
- Representative calls:
DT_Select_ArtigosIVA,DT_Select_MovArtigos,DT_Select_Recont,DT_Select_NserieDoc,DT_Select_Lotes,DT_list_tabprecoartigos,familias&option=dt_familia,DT_MarcasArtigos,DT_Select&table=unidades, and/api/v2/stocks/label-templates. - No save, new, delete, import, print, or final stock action was submitted.
- Manual updated:
workflows/stocks-hub.html,workflows/use-stock-route-map.html,modules/stocks.html,workflows/index.html,api/network-catalog.html, andsite-map.html.
2026-05-20 03:57 Europe/Lisbon - Sales Invoice Loyalty Card Boundary Verified
Verified up to the discount boundary. Selected the FT billing customer, added one temporary invoice line, looked up the customer's loyalty card, probed the loyalty discount-line endpoint, and confirmed no final invoicing action was submitted.
- Workflow run:
sales-invoice-loyalty-card-20260520T025748Z. - Route:
/vendas/ft/create. - Card lookup:
fidelizBuscaCartaowithnum=509031862,tipomov=C,tipoterc_prop=C, andcodterc_prop=910. - Lookup response: account id
13, card id10, stateA, owner customer910, andqtd_pontos=0. - Discount probe:
fidelizacao&option=add_discount_card_linereturnedsucceeded:falsebecauseArtigo para descontosis not configured. - No
saveDocument,saveRascunho, print, payment, or delete-document request was submitted. - Manual updated:
workflows/use-sales-invoice-loyalty-card.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 03:47 Europe/Lisbon - Sales Invoice Gift Card Verified
Verified up to the save boundary. Applied an active disposable gift certificate to an FT create form, captured the discount response, cleaned up the voucher, and confirmed no final invoice action was submitted.
- Workflow run:
sales-invoice-gift-card-20260520T024756Z. - Route:
/vendas/ft/create. - Voucher:
IG024756000001, value1.00, initial statusACT. - Apply call:
retalho&option=save_valeofertareturnedsuccess:true,valor_desconto=1, andpercentagem=0. - The voucher remained
ACTbefore cleanup because no final FT was issued. - No
saveDocument,saveRascunho, print, payment, or delete-document request was submitted. - Manual updated:
workflows/apply-sales-invoice-gift-card.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 03:40 Europe/Lisbon - Sales Invoice Customer Selection Verified
Verified up to the save boundary. Selected the FT billing customer, confirmed customer lookup and populated billing fields, and confirmed no final invoicing action was submitted.
- Workflow run:
sales-invoice-customer-selection-20260520T024003Z. - Route:
/vendas/ft/create. - Selected customer:
[910] 100 Ouvidos Lda, VAT509031862. - Lookup response:
NameEntidadesreturnedactivo:"T", addressRua Engenheiro Armando Almeida Mansos 33 Moura, localityMoura, postal code7860-004, and countryPRT. - Related requests:
edi&option=get_broker_id_entity,DT_Select_AdiantamentosClientes,Sel2_Select&table=moradase, andload&tabela=moradase. - No
saveDocument,saveRascunho, line insertion, print, payment, or delete request was submitted. - Manual updated:
workflows/select-sales-invoice-customer.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 03:32 Europe/Lisbon - Sales Invoice Article Search Line Verified
Verified up to the save boundary. Searched for an article in the FT document tab, selected the result, verified the temporary invoice line, and confirmed no final invoicing action was submitted.
- Workflow run:
sales-invoice-article-search-line-20260520T023231Z. - Route:
/vendas/ft/create. - Search control:
#buscaArtigo; search termAI-DEMO-20260519-021105. - Captured search and line calls:
loadTabDocumentoArtigos,loadArtigoReducido,insertLinhaTabDoc, andlistaTabDocumento. - Inserted line: quantity
1, VAT23, total with VAT1.96677. - No
saveDocument,saveRascunho, print, payment, or delete request was submitted. - Manual updated:
workflows/search-and-add-sales-invoice-article-line.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 03:27 Europe/Lisbon - Sales Invoice VAT and Totals Verified
Verified read-only. Added one temporary FT line, read the VAT/totals panels, called the backend totals calculator, and confirmed no final invoicing action was submitted.
- Workflow run:
sales-invoice-totals-20260520T022740Z. - Route:
/vendas/ft/create. - Visible VAT panel:
23,00%, incidence1,60 EUR, value0,37 EUR. - Visible totals panel: net
1,60 EUR, VAT0,37 EUR, retention0,00%, total1,97 EUR. - Backend response:
create_document&option=calcular_totaisreturnedtable_ivas[23],iva=0.36777,retencao=0, andtotal=1.97. - No
saveDocument,saveRascunho, print, payment, or delete request was submitted. - Manual updated:
workflows/read-sales-invoice-vat-and-totals.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 03:19 Europe/Lisbon - Sales Invoice Portes Verified
Verified up to the save boundary. Added a Portes value to an FT create form, verified the temporary shipping line, and confirmed no final invoicing action was submitted.
- Workflow run:
sales-invoice-portes-20260520T021905Z. - Route:
/vendas/ft/create. - Control:
#btn_Portesopened#modalPortes;#valPortesaccepted the net shipping value. - Verified value:
5.00net produced aPORTES001/ PORTES line with VAT23and total with VAT6.15. - No
saveDocument,saveRascunho, print, payment, or delete request was submitted. - Manual updated:
workflows/add-sales-invoice-portes.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html,api/network-catalog.html, andsite-map.html.
2026-05-20 03:09 Europe/Lisbon - Sales Invoice Vehicle Print Flag Verified
Verified read-only. Opened the FT create form, checked the vehicle print control, toggled it off, and confirmed no state-changing invoicing request was submitted.
- Workflow run:
sales-invoice-vehicle-print-flag-20260520T020900Z. - Route:
/vendas/ft/create. - Control:
#imprimirviaturabeside vehicle selector#doc_CodEquipExt. - Default state: checked; after toggle: unchecked.
- No
saveDocument,saveRascunho,imprimir, payment, line-insert, delete, stock, or document-creation request was submitted. - Manual updated:
workflows/hide-sales-invoice-vehicle-from-printout.html,workflows/add-sales-invoice-vehicle.html,workflows/invoicing-hub.html,workflows/index.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 02:58 Europe/Lisbon - CRM Task List Filters Verified
Verified read-only. Queried the CRM task list filters for accomplished state and priority and confirmed the backend values used by the visible grid controls.
- Workflow run:
crm-task-filter-list-20260520T015830Z. - UI filters:
search_Realizadooptions mapTto Realizado andFto Não Realizado;search_PrioridademapsNto Normal,Hto Alta, andLto Baixa. - Open task query:
dt_tarefaswithcolumns[8][search][value]=FreturnedrecordsFiltered=43. - Accomplished task query:
columns[8][search][value]=TreturnedrecordsFiltered=40. - High-priority query:
columns[10][search][value]=HreturnedrecordsFiltered=5. - Open high-priority query:
Realizado=FplusPrioridade=HreturnedrecordsFiltered=2, tasks410and127. - No create, save, delete, complete, email, SMS, document, stock, attachment, or bulk action was submitted.
- Manual updated:
workflows/filter-crm-tasks.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:53 Europe/Lisbon - CRM Communication Schedule Verified
Verified end to end. Created a disposable CRM communication draft with no recipients, scheduled it for a future date, verified the queued state and stored date, and deleted the disposable communication after the probe.
- Workflow run:
crm-communication-schedule-20260520T015323Z. - Communication id:
39; schedule UI value:21/05/2026 10:30; stored value:2026-05-21 10:30:00. - Schedule request: multipart
communications/postEditCommwithid=39,email=1,enviar=1, anddate_to_send=21/05/2026 10:30; response returnedsuccess=true,send=true, andcommunication_id=39. - Verification:
DT_Select_Communicationsreturnedstatus=QUE,date_to_send=2026-05-21 10:30:00,date_sendempty,totalcontactos=0,total_sent=0, andtotal_unsent=0;DT_Select_LCommunicationsreturned no recipients. - Cleanup:
communications/DELETE_communicationreturned bare JSONtrue; final lookup returnedrecordsFiltered=0. - No contacts, send-test, immediate-send recipient, document, stock, attachment upload, or external-send target was used.
- Manual updated:
workflows/schedule-crm-communication.html,workflows/create-crm-communication.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:44 Europe/Lisbon - CRM Communication Segment Contact Add Verified
Verified end to end. Created a disposable CRM communication draft, searched recipients from a CRM research segment, added one returned customer to the communication, verified the recipient row and counters, and deleted the disposable communication after the probe.
- Workflow run:
crm-communication-segment-contact-20260520T014407Z. - Communication id:
39; segment id:5; selected customer id:906; recipient row id:1180. - Search request:
communications/getPesquisaEntidadesCommwithTipoOrigemEnt=M,CodPesqSeg=5,selectTipoT=C,email=1, andmeioutiliz=M; response returnedsuccess=true,pesquisa_segmentos=true, and customer906. - Add request:
communications/postAddLCommunicationswithTipoOrigemEnt=M,CodPesqSeg=5, anduser_send; response returnedsuccess=true,ok=1, andnotok=0. - Verification:
DT_Select_LCommunicationsreturnedcodterc=906,tipoterc=C,uploaded_csv=0,address=geral@tecniram.pt,type=email, andenviado=F;DT_Select_Communicationsreturnedtotalcontactos=1andtotal_unsent=1. - Cleanup:
communications/DELETE_communicationreturned bare JSONtrue; final lookup returnedrecordsFiltered=0. - No send, send-test, schedule, CSV import, lead conversion, document, stock, attachment, or external-send action was submitted.
- Manual updated:
workflows/add-crm-communication-segment-contact.html,workflows/add-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:39 Europe/Lisbon - CRM Communication CSV Contact Import Verified
Verified end to end. Created a disposable CRM communication draft, parsed a one-row CSV through the communication Add Contacts import source, added the parsed row as an unsent email recipient, verified the contact row and counters, and deleted the disposable communication after the probe.
- Workflow run:
crm-communication-csv-import-contact-20260520T013858Z. - Communication id:
39; imported recipient row id:1179. - CSV format:
nome;email;localidade;morada;pais;telemovel;ncontrib. The example file route/assets/csv/importar_contactos_crm.csvreturned the same columns. - Parse request: multipart
communications/getPesquisaEntidadesCommCSVwith file fieldfile_import; response returnedsuccess=trueand onemailingrow. - Add request:
communications/postAddLCommunicationswithTipoOrigemEnt=Canduser_send_import; response returnedsuccess=true,ok=2, andnotok=0. - Verification:
DT_Select_LCommunicationsreturneduploaded_csv=1,tipoterc=O,address=ai-comm-csv-import-20260520t013858z@example.net,type=email, andenviado=F;DT_Select_Communicationsreturnedtotalcontactos=1andtotal_unsent=1. - Cleanup:
communications/DELETE_communicationreturned bare JSONtrue; final lookup returnedrecordsFiltered=0. - No send, send-test, schedule, lead conversion, document, stock, attachment, or external-send action was submitted.
- Manual updated:
workflows/add-crm-communication-csv-contact.html,workflows/add-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:29 Europe/Lisbon - CRM Lead Add to Communication Verified
Verified end to end. Created a disposable CRM communication draft and a one-row CRM lead list, added the imported lead row to the communication, verified the recipient row and counters, and deleted both disposable records after the probe.
- Workflow run:
crm-lead-add-to-communication-20260520T012943Z. - Communication id:
39; lead list id:23; imported lead row id:1. - Add request:
leads/addToCommunicationwithcomm_id=39,leads_ids=1, andlead_id=23; response returned{"success":true,"msg":"(1) Adicionado com sucesso","response":{"ok":1,"ok_ids":[1],"notok":0,"notok_ids":[]}}. - Verification:
DT_Select_LCommunicationsreturned row1177withtipoterc=L,id_lead=23,address=ai-lead-communication-20260520t012943z@example.net,type=email, andenviado=F;DT_Select_Communicationsreturnedtotalcontactos=1andtotal_unsent=1. - Cleanup:
communications/DELETE_communicationreturned bare JSONtrue;leads/DELETE_leadreturned{"success":true,"msg":"Registo Apagado Com Sucesso"}. - No send, send-test, schedule, prospect conversion, document, stock, attachment, or external-send action was submitted.
- Manual updated:
workflows/add-crm-lead-to-communication.html,workflows/add-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:07 Europe/Lisbon - CRM Lead Detail Edit Verified
Verified end to end. Created a disposable CRM lead list from CSV, edited its detail description and Active flag, verified the detail/list/value endpoints, and deleted it after the probe.
- Workflow run:
crm-lead-edit-20260520T010726Z. - Lead id:
18; original descriptionAI Demo CRM Lead Edit 20260520T010726Z; edited descriptionAI Demo CRM Lead Edited 20260520T010726Z. - Detail form:
formularioexposes inline description#description_inline, checkbox#active, imported values tableListaValuesLead, Column Map, New Import, Delete, and Save controls. - Save request:
leads/postEditLeadwithid=18, edited description, andactive=F; response returned{"success":true}. - Verification: detail page reloaded with the edited description and unchecked Active switch;
DT_SelectLeadsreturnedactive=Fandrecords=1;DT_Select_Leadspreserved the imported contact row. - Cleanup:
leads/DELETE_leadreturned{"success":true,"msg":"Registration Successfully Deleted"}; final list lookup returned no row. - Manual updated:
workflows/edit-crm-lead.html,workflows/create-delete-crm-lead.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:01 Europe/Lisbon - CRM Business Opportunity Lost Closure Verified
Verified end to end. Created a disposable CRM business opportunity, closed it as lost by changing phase to PER / Perdido, verified the finished-list and phase-history state, and deleted it after the probe.
- Workflow run:
crm-opportunity-lost-20260520T010122Z. - Opportunity:
2605-0001; description:AI Demo CRM Opportunity Lost 20260520T010122Z. - Save request:
oportneg/update_fasewith serialized formfaseactual=PER,datafimfase=20/05/2026, and the closing comment; response returned{"success":true}. - Verification: detail page showed
PerdidoandFinished: 20/05/2026;DT_ListaOportNegwithsearch[Op.Concluido_c]=TreturnedFase=[PER] Perdido;DT_Select_OptNegFasesreturnedFaseAnterior=SGandFaseActual=PER. - Grid note: the row's hidden
typefield still returnedopen, so the reliable finished/lost verification isConcluido_c=Tplus phasePER. - Cleanup:
deleteAttachmentCascadewithtabela=oportnegreturned{"succeeded":true}; final finished and open list lookups returned no row. - Manual updated:
workflows/close-crm-opportunity-lost.html,workflows/change-crm-opportunity-phase.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 01:56 Europe/Lisbon - CRM Business Opportunity Won Closure Verified
Verified end to end. Created a disposable CRM business opportunity, closed it as won by changing phase to FEC / Fechado, verified the finished-list and phase-history state, and deleted it after the probe.
- Workflow run:
crm-opportunity-won-20260520T005645Z. - Opportunity:
2605-0001; description:AI Demo CRM Opportunity Won 20260520T005645Z. - Available phase options observed:
SG,CI,AP,NEG,EMF,FEC, andPER. - Save request:
oportneg/update_fasewith serialized formfaseactual=FEC,datafimfase=20/05/2026, and the closing comment; response returned{"success":true}. - Verification: detail page showed
FechadoandFinished: 20/05/2026;DT_ListaOportNegwithsearch[Op.Concluido_c]=TreturnedFase=[FEC] Fechado;DT_Select_OptNegFasesreturnedFaseAnterior=SGandFaseActual=FEC. - Grid note: the row's hidden
typefield still returnedopen, so the reliable finished/won verification isConcluido_c=Tplus phaseFEC. - Cleanup:
deleteAttachmentCascadewithtabela=oportnegreturned{"succeeded":true}; final finished and open list lookups returned no row. - Manual updated:
workflows/close-crm-opportunity-won.html,workflows/change-crm-opportunity-phase.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 01:49 Europe/Lisbon - GDPR Other Request Registration Verified
Verified request registration. Created a GDPR Other request row in the demo from the GDPR list and confirmed it through the GDPR request list endpoint.
- Workflow run:
create-gdpr-other-request-20260520T004853Z. - Created request id:
12. - Entity: customer
1003, AI Demo Customer 20260519T025604Z. - Ordered by:
AI Demo GDPR Other Requester 20260520T004853Z. - Identification document:
DEMO-OTHER-DOC-20260520T004853Z. - Request type:
1000/ Other. - Verification:
DT_list_gdpr_reqreturned request12withstatus=0,status_estado=I, and visible state On hold. - Raw evidence:
raw/playwright/workflows/create-gdpr-other-request-20260520T004853Z.json. - Manual updated:
workflows/create-gdpr-request.html,modules/entities.html, andapi/network-catalog.html.
2026-05-20 01:41 Europe/Lisbon - Quotation Cancellation Verified
Verified end to end. Created an open ORC quotation, cancelled it from the saved quotation view, confirmed the final ORC list state, and verified stock and order quantities stayed unchanged.
- Quotation workflow run:
quotation-orc-20260520T004056Z, created999900095 / ORC 9999/95. - Cancellation workflow run:
cancel-quotation-orc-20260520T004120Z. - Cancellation behavior: no cancellation-reason selector was used; the view called
btnDelete('Anular'), showed the irreversible confirmation directly, and posteddeleteDocumentwith emptyanulacao=. - ORC final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Payment/state after cancellation:
ValorPago=0, pending value1.97. - Stock/order quantities after cancellation: warehouse
1stock stayed-41,qtd_enc_clientestayed5, andqtd_enc_fornstayed2. - Raw evidence:
raw/playwright/workflows/cancel-quotation-orc-20260520T004120Z.json. - Manual updated:
workflows/cancel-quotation.html,workflows/create-quotation.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 01:31 Europe/Lisbon - Sales Order Cancellation Verified
Verified end to end. Created an open ENC sales order, cancelled it from the saved order view, confirmed the final ENC list state, and verified the customer-order quantity reduction without physical stock movement.
- Sales order workflow run:
sales-order-enc-20260520T002909Z, created999900110 / ENC 9999/110. - Cancellation workflow run:
cancel-sales-order-enc-20260520T003150Z. - Cancellation behavior: no cancellation-reason selector was used; the view called
btnDelete('Anular'), showed the irreversible confirmation directly, and posteddeleteDocumentwith emptyanulacao=. - ENC final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Payment/state after cancellation:
ValorPago=0, pending value1.97. - Stock/order quantities after cancellation: warehouse
1stock stayed-41,qtd_enc_clientechanged from6to5, andqtd_enc_fornstayed2. - Raw evidence:
raw/playwright/workflows/cancel-sales-order-enc-20260520T003150Z.json. - Manual updated:
workflows/cancel-sales-order.html,workflows/create-sales-order.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 01:23 Europe/Lisbon - Pro-Forma Invoice Cancellation Verified
Verified end to end. Created an open FP pro-forma invoice, cancelled it from the saved pro-forma view, confirmed the final FP list state, and verified stock stayed unchanged.
- Pro-forma workflow run:
proforma-invoice-fp-20260520T002252Z, created999900066 / FP 9999/66. - Cancellation workflow run:
cancel-proforma-invoice-fp-20260520T002319Z. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - FP final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Payment/state after cancellation:
ValorPago=0, pending value1.97. - Stock after cancellation: warehouse
1stayed-41for articleAI-DEMO-20260519-021105. - Raw evidence:
raw/playwright/workflows/cancel-proforma-invoice-fp-20260520T002319Z.json. - Manual updated:
workflows/cancel-proforma-invoice.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 01:16 Europe/Lisbon - Debit Note Cancellation Verified
Verified end to end. Created an open ND debit note from a fresh FT source, cancelled the ND from the saved debit-note view, confirmed the final ND list state, checked the source FT stayed open, and verified stock stayed unchanged.
- Source invoice workflow run:
sales-invoice-ft-20260520T001512Z, created999901707 / FT 9999/1707. - Debit note workflow run:
debit-note-nd-20260520T001537Z, created999900005 / ND 9999/5. - Cancellation workflow run:
cancel-debit-note-nd-20260520T001612Z. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - ND final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Source FT after cancellation:
ABR/ Open,ValorPago=0, pending value1.97. - Stock after cancellation: warehouse
1stayed-41for articleAI-DEMO-20260519-021105. - Raw evidence:
raw/playwright/workflows/cancel-debit-note-nd-20260520T001612Z.json. - Manual updated:
workflows/cancel-debit-note.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 01:08 Europe/Lisbon - Credit Note Cancellation Verified
Verified end to end. Cancelled an open NC credit note from the saved credit-note view, confirmed the final NC list state, checked the source FS remained settled, and verified the stock impact.
- Workflow run:
cancel-credit-note-nc-20260520T000825Z. - Cancelled credit note:
999900062 / NC 9999/62. - Source simplified invoice:
999900014 / FS 9999/14. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - NC final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Source FS after cancellation:
LIQ/ Finished,ValorPago=1.97, pending value0.00. - Stock after cancellation: warehouse
1changed from-39to-40for articleAI-DEMO-20260519-021105. - Raw evidence:
raw/playwright/workflows/cancel-credit-note-nc-20260520T000825Z.json. - Manual updated:
workflows/cancel-credit-note.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 01:03 Europe/Lisbon - Receipt Reversal Cancellation Verified
Verified end to end. Created a closed RE receipt reversal, cancelled it from the reversal view with a cancellation reason, and confirmed the source NC returned to open and unpaid.
- Workflow run:
cancel-receipt-reversal-re-20260520T000325Z. - Created and cancelled reversal:
999900015 / RE 9999/15. - Source credit note:
999900062 / NC 9999/62. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - RE final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Source NC after cancellation:
ABR/ Open,ValorPago=0, pending value1.97. - Raw evidence:
raw/playwright/workflows/cancel-receipt-reversal-re-20260520T000325Z.json. - Manual updated:
workflows/cancel-receipt-reversal.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:52 Europe/Lisbon - Receipt Cancellation Verified
Verified end to end. Created a closed R receipt, cancelled it from the receipt view with a cancellation reason, and confirmed the source FT returned to open and unpaid.
- Workflow run:
cancel-receipt-r-20260519T235225Z. - Created and cancelled receipt:
999900250 / R 9999/250. - Source invoice:
999901706 / FT 9999/1706. - Payment before cancellation:
NUM 1.97; validation returnedvalid:trueandtroco:0. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - Receipt final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Source invoice after cancellation:
ABR/ Open,ValorPago=0, pending value1.97. - Raw evidence:
raw/playwright/workflows/cancel-receipt-r-20260519T235225Z.json. - Manual updated:
workflows/cancel-receipt.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:33 Europe/Lisbon - Receipt Partial Payment Correction Verified
Verified end to end. Created an R receipt working state, moved one open FT into the receipt documents grid, added a short cash payment, corrected the same row, and confirmed OfficeGest saved the receipt and settled the source invoice.
- Evidence:
raw/playwright/workflows/receipt-r-fix-partial-payment-20260519T233330Z.json. - Route:
/vendas/r/create; final route:/vendas/r/view/OTk5OTAwMjQ5. - Final receipt:
999900249 / R 9999/249. - Source invoice:
999901705 / FT 9999/1705. - Short payment:
NUM 1.00returnedvalid:falseandtroco:-0.97. - Correction: edited the same row to
1.97; validation returnedvalid:trueandtroco:0. - Final states: receipt list returned
R 9999/249asF/ Closed; source FT becameLIQ/ Finished withValorPago=1.97and pending value0.00. - Manual updated:
workflows/fix-receipt-partial-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:27 Europe/Lisbon - Receipt Partial Payment Validation Verified
Verified end to end. Created an R receipt working state, moved one open FT into the receipt documents grid, added a short cash payment, attempted payment save, and confirmed OfficeGest blocked the receipt save.
- Evidence:
raw/playwright/workflows/receipt-r-partial-payment-validation-20260519T232700Z.json. - Route:
/vendas/r/create. - Source invoice:
999901704 / FT 9999/1704. - Payment:
NUM 1.00against selected value1.97. - Validation:
payment&option=validatereturnedvalid:falseandtroco:-0.97. - No
saveDocumentReciborequest orOKDOCresponse was captured. - Source invoice boundary:
FT 9999/1704stayedABR/ Open withValorPago=0and pending value1.97. - Manual updated:
workflows/handle-receipt-partial-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:21 Europe/Lisbon - Receipt Payment Row Deletion Verified
Verified up to the save boundary. Created an R receipt working state, moved one open FT into the receipt documents grid, added a cash payment row, deleted it, and confirmed no receipt save occurred.
- Evidence:
raw/playwright/workflows/receipt-r-delete-payment-row-20260519T232158Z.json. - Route:
/vendas/r/create. - Source invoice:
999901703 / FT 9999/1703. - Payment add:
payment&option=addcreatedNUM 1.97. - Payment delete:
payment&option=deleteused payment table55797,nseq=1, and cleared the payment form. - No
saveDocumentReciborequest orOKDOCresponse was captured. - Source invoice boundary:
FT 9999/1703stayedABR/ Open withValorPago=0and pending value1.97. - Manual updated:
workflows/delete-receipt-payment-row.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:16 Europe/Lisbon - Receipt Overpayment Verified
Verified end to end. Created an R receipt, moved one open FT into the receipt documents grid, entered a cash payment above the value to pay, and confirmed OfficeGest calculated change while settling the source invoice.
- Evidence:
raw/playwright/workflows/receipt-r-overpayment-20260519T231638Z.json. - Route:
/vendas/r/create; final route:/vendas/r/view/OTk5OTAwMjQ4. - Final receipt:
999900248 / R 9999/248. - Source invoice:
999901702 / FT 9999/1702. - Payment:
NUM 2.00against value to pay1.97; validation returnedvalid:trueandtroco:0.03. - Final states: receipt list returned
R 9999/248asF/ Closed; source FT becameLIQ/ Finished withValorPago=1.97and pending value0.00. - Manual updated:
workflows/create-receipt-overpayment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:09 Europe/Lisbon - Receipt Split Payment Verified
Verified end to end. Created an R receipt, moved one open FT into the receipt documents grid, added two payment methods, and confirmed OfficeGest closed the receipt and settled the source invoice.
- Evidence:
raw/playwright/workflows/receipt-r-split-payment-20260519T230946Z.json. - Route:
/vendas/r/create; final route:/vendas/r/view/OTk5OTAwMjQ3. - Final receipt:
999900247 / R 9999/247. - Source invoice:
999901701 / FT 9999/1701. - Payments:
NUM 1.00plusTRA 0.97; validation returnedvalid:trueandtroco:0. - Final states: receipt list returned
R 9999/247asF/ Closed; source FT becameLIQ/ Finished withValorPago=1.97and pending value0.00. - Manual updated:
workflows/create-receipt-split-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:03 Europe/Lisbon - Simplified Invoice Split Payment Verified
Verified end to end. Created an FS, added two payment methods in the payment modal, and confirmed OfficeGest saved the simplified invoice as paid.
- Evidence:
raw/playwright/workflows/simplified-invoice-split-payment-20260519T230345Z.json. - Route:
/vendas/fs/create; final route:/vendas/fs/view/OTk5OTAwMDEx. - Final document:
999900011 / FS 9999/11. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, one FS line, total1.97. - Payments:
NUM 1.00plusTRA 0.97; validation returnedvalid:trueandtroco:0. - Final list state:
FS 9999/11,LIQ/ Finished,ValorPago=1.97, pending value0.00. - Stock effect: warehouse
1stock moved from-30to-31. - Manual updated:
workflows/create-simplified-invoice-split-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:00 Europe/Lisbon - Simplified Invoice Payment Row Deletion Verified
Verified up to the save boundary. Opened an FS payment modal, added a cash payment row, deleted it with the row trash button, and confirmed no final save or stock movement occurred.
- Evidence:
raw/playwright/workflows/simplified-invoice-delete-payment-row-20260519T230007Z.json. - Route:
/vendas/fs/create. - Temporary document id:
55591. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, and one FS line. - Payment add:
payment&option=addcreatedNUMrow value1.97. - Payment delete:
payment&option=deleteusednseq=1, cleared the payment form, and reset#payment_totalto0. - No
saveDocumentrequest orOKDOCresponse was captured. - Stock boundary: article stock stayed
-30before and after the payment-row deletion. - Manual updated:
workflows/delete-simplified-invoice-payment-row.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:55 Europe/Lisbon - Simplified Invoice Partial Payment Correction Verified
Verified end to end. Created an FS with a short cash payment, edited the existing payment row to the full document total, and confirmed the simplified invoice finished as paid.
- Evidence:
raw/playwright/workflows/simplified-invoice-fix-partial-payment-20260519T225558Z.json. - Route:
/vendas/fs/create; final route:/vendas/fs/view/OTk5OTAwMDEw. - Final document:
999900010 / FS 9999/10. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, one FS line, total1.97. - Short payment:
NUM 1.00; first validation returnedvalid:falseandtroco:-0.97. - Correction: edited the existing payment row to
1.97; second validation returnedvalid:trueandtroco:0. - Final list state:
FS 9999/10,LIQ/ Finished,ValorPago=1.97, pending value0.00. - Stock effect: warehouse
1stock moved from-29to-30. - Manual updated:
workflows/fix-simplified-invoice-partial-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:52 Europe/Lisbon - Simplified Invoice Overpayment Verified
Verified end to end. Created an FS, entered a cash payment greater than the document total, and confirmed OfficeGest saved the FS while returning the change amount during payment validation.
- Evidence:
raw/playwright/workflows/simplified-invoice-overpayment-20260519T225200Z.json. - Route:
/vendas/fs/create; final route:/vendas/fs/view/OTk5OTAwMDA5. - Final document:
999900009 / FS 9999/9. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, one FS line, total1.97. - Payment:
NUM 2.00; validation returnedvalid:trueandtroco:0.03. - Final list state:
FS 9999/9,LIQ/ Finished, total1.97,ValorPago=1.97, pending value0.00. - Stock effect: warehouse
1stock moved from-28to-29. - Manual updated:
workflows/create-simplified-invoice-overpayment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:46 Europe/Lisbon - Simplified Invoice Cancellation Verified
Verified end to end. Created a paid FS, cancelled it from the simplified invoice view with a cancellation reason, and confirmed the FS list state changed to canceled while stock was reversed.
- Workflow run:
cancel-simplified-invoice-fs-20260519T234643Z. - Created and cancelled document:
999900012 / FS 9999/12. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Payment before cancellation:
NUM 1.97; validation returnedvalid:trueandtroco:0. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - Final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled, withValorPago=1.97and pending value0.00. - Stock result: warehouse
1moved from-37before FS creation to-38after final save, then back to-37after cancellation. - Raw evidence:
raw/playwright/workflows/cancel-simplified-invoice-fs-20260519T234643Z.json. - Manual updated:
workflows/cancel-simplified-invoice.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-20 00:40 Europe/Lisbon - Invoice / Receipt Cancellation Verified
Verified end to end. Created a paid FR, cancelled it from the invoice / receipt view with a cancellation reason, and confirmed the FR list state changed to canceled while stock was reversed.
- Workflow run:
cancel-invoice-receipt-fr-20260519T234010Z. - Created and cancelled document:
999900849 / FR 9999/849. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Payment before cancellation:
NUM 1.97; validation returnedvalid:trueandtroco:0. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - Final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled, withValorPago=1.97and pending value0.00. - Stock result: warehouse
1moved from-37before FR creation to-38after final save, then back to-37after cancellation. - Raw evidence:
raw/playwright/workflows/cancel-invoice-receipt-fr-20260519T234010Z.json. - Manual updated:
workflows/cancel-invoice-receipt.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:46 Europe/Lisbon - Invoice / Receipt Overpayment Verified
Verified end to end. Created an FR, entered a cash payment greater than the document total, and confirmed OfficeGest saved the FR while returning the change amount during payment validation.
- Evidence:
raw/playwright/workflows/invoice-receipt-overpayment-20260519T224642Z.json. - Route:
/vendas/fr/create; final route:/vendas/fr/view/OTk5OTAwODQ4. - Final document:
999900848 / FR 9999/848. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, one FR line, total1.97. - Payment:
NUM 2.00; validation returnedvalid:trueandtroco:0.03. - Final list state:
FR 9999/848,LIQ/ Finished, total1.97,ValorPago=1.97, pending value0.00. - Stock effect: warehouse
1stock moved from-27to-28. - Manual updated:
workflows/create-invoice-receipt-overpayment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:33 Europe/Lisbon - Invoice / Receipt Partial Payment Correction Verified
Verified end to end. Created an FR with a short cash payment, edited the existing payment row to the full document total, and confirmed the document finished as paid.
- Evidence:
raw/playwright/workflows/invoice-receipt-fix-partial-payment-20260519T223353Z.json. - Route:
/vendas/fr/create; final route:/vendas/fr/view/OTk5OTAwODQ3. - Final document:
999900847 / FR 9999/847. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, one FR line, total1.97. - Short payment:
NUM 1.00; first validation returnedvalid:falseandtroco:-0.97. - Correction: edited the existing payment row to
1.97; second validation returnedvalid:trueandtroco:0. - Final list state:
FR 9999/847,LIQ/ Finished,ValorPago=1.97, pending value0.00. - Stock effect: warehouse
1stock moved from-26to-27. - Manual updated:
workflows/fix-invoice-receipt-partial-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:28 Europe/Lisbon - Invoice / Receipt Payment Row Deletion Verified
Verified up to the save boundary. Opened an FR payment modal, added a cash payment row, deleted it with the row trash button, and confirmed no final save or stock movement occurred.
- Evidence:
raw/playwright/workflows/invoice-receipt-delete-payment-row-20260519T222826Z.json. - Route:
/vendas/fr/create. - Temporary document id:
55293. - Setup: customer
910 / 100 Ouvidos Lda, articleAI-DEMO-20260519-021105, and one FR line. - Payment add:
payment&option=addcreatedNUMrow value1.97. - Payment delete:
payment&option=deleteusednseq=1, cleared the payment form, and reset#payment_totalto0. - No
saveDocumentrequest orOKDOCresponse was captured. - Stock boundary: article stock stayed
-26before and after the payment-row deletion. - Manual updated:
workflows/delete-invoice-receipt-payment-row.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:22 Europe/Lisbon - Sales Invoice Attachment Download Verified
Verified end to end. Uploaded a disposable FT attachment, clicked its row download action, verified the browser download filename and content, and deleted the file.
- Evidence:
raw/playwright/workflows/sales-invoice-download-attachment-20260519T222253Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699, customer910 / 100 Ouvidos Lda. - Download action: row
lista_attachments_edit(193)triggered a browser download. - Result: suggested filename
sales-invoice-download-attachment-20260519T222253Z.txt, size75bytes, and content matching the uploaded text file. - Download artifact:
raw/playwright/downloads/sales-invoice-download-attachment-20260519T222253Z-sales-invoice-download-attachment-20260519T222253Z.txt. - Cleanup: row
193was deleted and the final lookup found zero rows for that attachment id. - No invoice save, payment, print, communication, stock, metadata edit, or line-edit request was submitted.
- Manual updated:
workflows/download-sales-invoice-attachment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:18 Europe/Lisbon - Sales Invoice Attachment Metadata Edit Verified
Verified end to end. Uploaded a disposable FT attachment, opened its row edit modal, changed the description and public flag, verified the edited table row, and deleted the file.
- Evidence:
raw/playwright/workflows/sales-invoice-edit-attachment-20260519T221820Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699, customer910 / 100 Ouvidos Lda. - Edit modal:
#editattachmentwith#attach_id, required#edit_attach_assunto, optional#edit_attach_categoria,#edit_attach_public, and#btn_edit_attach_submit. - Save call:
editAttachmentreturned{"success":true}. - Result row: description
AI FT attachment edited 20260519T221820Z, filesales-invoice-edit-attachment-20260519T221820Z.txt, MIME typetext/plain, size71, andpublic=0. - Cleanup: row
193was deleted and the final lookup found zero rows for that attachment id. - No invoice save, payment, print, communication, stock, or line-edit request was submitted.
- Manual updated:
workflows/edit-sales-invoice-attachment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 23:11 Europe/Lisbon - Sales Invoice Attachments Verified
Verified end to end. Opened a saved FT view, uploaded a disposable text attachment, verified the attachment row, deleted it, and confirmed the table returned to empty.
- Evidence:
raw/playwright/workflows/sales-invoice-attachments-20260519T221119Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699, customer910 / 100 Ouvidos Lda. - Upload request: multipart
AceUploadwithlocation=attachments,codterc=910,tipoterc=C,numdoc=999901699,tipodoc=FT, requiredassunto,public=1, andfiles[]. - Upload response:
{"ok":true,"num":193}, MIME typetext/plain, size66, and generated stored filename20260519231125_z5erWD6.txt. - List lookup:
DT_Select_Attachmentsusedsearch[NumDoc]=999901699andsearch[tipodoc]=FT. - Delete path: row delete opened Are you sure you want to delete?; accepting OK removed the row and the final table showed No data available in table.
- No invoice save, payment, print, communication, stock, or line-edit request was submitted.
- Manual updated:
workflows/manage-sales-invoice-attachments.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:59 Europe/Lisbon - Sales Invoice Duplicate Preparation Verified
Verified up to the save boundary. Opened a saved FT view, clicked Duplicate, verified the copied editable FT form, and confirmed no new invoice was issued.
- Evidence:
raw/playwright/workflows/sales-invoice-prepare-duplicate-20260519T215925Z.json. - Route: source
/vendas/ft/view/OTk5OTAxNjk5; duplicate route/vendas/ft/dupl/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Copied customer:
910/100 Ouvidos Lda. - Copied line:
AI-DEMO-20260519-021105, quantity1, unit price3, VAT23, total with VAT3.69. - OfficeGest loaded customer advances through
DT_Select_AdiantamentosClientesand showed the Advances modal. - No
saveDocument, payment, print, communication, or stock action was submitted. - Manual updated:
workflows/prepare-duplicate-sales-invoice.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:53 Europe/Lisbon - Sales Invoice WhatsApp Availability Verified
Verified with caveat. Opened a saved FT view, clicked the WhatsApp action from the Communicate menu, and confirmed the demo account did not have WhatsApp service enabled.
- Evidence:
raw/playwright/workflows/sales-invoice-whatsapp-availability-20260519T215335Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Menu path: Communicate / Whatsapp.
- Availability call:
POST /ajaxserverwithaction=chatflowandoption=has-whatsapp-service. - Result: response body
false, no visible modal, and#sendWhatsappremained hidden. - No WhatsApp, SMS, email, document creation, payment, or stock action was submitted.
- Manual updated:
workflows/check-sales-invoice-whatsapp-availability.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:48 Europe/Lisbon - Sales Invoice SMS Composer Verified
Verified up to the send boundary. Opened a saved FT view, opened the SMS modal from the Communicate menu, loaded document SMS template data, and confirmed no external SMS was sent.
- Evidence:
raw/playwright/workflows/sales-invoice-prepare-sms-20260519T214821Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Menu path: Communicate / SMS.
- Template call:
action=templates_sms,option=getTexto,table=Fact,table_entity=clientes,num=999901699,namedoc=Invoice,tipoop=FT,tipoterc=C,id=32. - Modal loaded language
en, template32/ Liquidação das faturas pendentes, message100 Ouvidos Lda999901699, and no SMS contact options. - No SMS, email, WhatsApp, document creation, payment, or stock action was submitted.
- Manual updated:
workflows/prepare-sales-invoice-sms.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:42 Europe/Lisbon - Public Sales Invoice PDF Download Verified
Verified end to end. Opened the public document link for a saved FT, clicked Download, and verified the customer-side browser download as a valid PDF.
- Evidence:
raw/playwright/workflows/public-sales-invoice-download-pdf-20260519T214219Z.json. - Public URL:
https://pdoc.officegest.com/rwsCRlSDlOXcA36UO7Y. - Source document:
999901699 / FT 9999/1699, customer100 Ouvidos Lda, total3.69 EUR. - Metadata call:
GET services.guisoft.pt/officegest/getpublicdoc/rwsCRlSDlOXcA36UO7Yreturnedsuccess:trueand the PDF URL. - Download result: browser suggested
FT 9999_1699.pdf; saved artifact was25990bytes and started with%PDF-1.7. - Public page posted
{"action":"download","document_type":"FT","document_number":999901699,...}to/api/v2/sales/action-log; the PDF download completed even when that unauthenticated log response returned401. - Manual updated:
workflows/download-public-sales-invoice-pdf.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:39 Europe/Lisbon - Sales Invoice Email Composer Verified
Verified up to the send boundary. Opened a saved FT view, opened the Send email modal from the Communicate menu, loaded document email template data, and confirmed no external email was sent.
- Evidence:
raw/playwright/workflows/sales-invoice-prepare-email-20260519T213657Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Menu path: Communicate / Send email.
- Email data call:
action=documents,option=body_email_data,num=999901699,tipoop=FT,codterc=910,tipoterc=C. - Modal loaded To/CC/BCC options
demo@example.comandluis.santos@guisoft.net; language defaulten; templatecli_documentosreferencedFT 9999/1699, total3,69, and due date20/05/2026. - No email, SMS, WhatsApp, document creation, payment, or stock action was submitted.
- Manual updated:
workflows/prepare-sales-invoice-email.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:31 Europe/Lisbon - Sales Invoice Public Link Verified
Verified end to end. Opened a saved FT view, copied the public document link from the Communicate menu, and verified the public page outside the authenticated OfficeGest session.
- Evidence:
raw/playwright/workflows/sales-invoice-copy-public-link-20260519T213057Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Menu path: Communicate / Copy document`s public link.
- Clipboard result:
https://pdoc.officegest.com/rwsCRlSDlOXcA36UO7Y; toast text included Successfully copied. - Public page result: status
200, titleOfficeGest's Public Documents, invoiceFT 9999/1699, customer100 Ouvidos Lda, amount3.69 EUR, and Download. - No email, SMS, WhatsApp, document creation, payment, or stock action was submitted.
- Manual updated:
workflows/copy-sales-invoice-public-link.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:24 Europe/Lisbon - Sales Invoice PDF Print Verified
Verified end to end. Opened a saved FT view, generated a PDF from the Print menu, and verified the generated file downloaded as a PDF.
- Evidence:
raw/playwright/workflows/sales-invoice-print-pdf-20260519T212449Z.json. - Route:
/vendas/ft/view/OTk5OTAxNjk5. - Source document:
999901699 / FT 9999/1699. - Menu path: Print / PDF, page item
#imprimirpdf. - Print call:
action=imprimir,num=999901699,tipoop=FT,talao=F,impressao=F,sign_doc=false. - Result:
{"success":true,"file":"FT 9999-1699.pdf"}; download returned status200,application/pdf,25990bytes, and a%PDF-1.7header. - Manual updated:
workflows/print-sales-invoice-pdf.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:11 Europe/Lisbon - Sales Invoice Line Gross Price Verified
Verified end to end. Changed an FT line gross price, saved the invoice, and verified the saved view retained the recalculated net price, VAT value, and total.
- Evidence:
raw/playwright/workflows/sales-invoice-line-gross-price-20260519T211156Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk5. - Final document:
999901699 / FT 9999/1699, customer910, list total3.69. - Line edit:
updateEditableTabDocwithcampo=PVPandvalue=3.69returned success. - Line result: before edit
PVP=1.96677; final viewPVP=3.69,PrecoUni=3,ValorIVA=0.69,TotalCIVA=3.69. - Manual updated:
workflows/change-sales-invoice-line-gross-price.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:07 Europe/Lisbon - Sales Invoice Line Unit Verified
Verified end to end. Changed an FT line unit of measure, saved the invoice, and verified the saved view retained CodUnidade=H.
- Evidence:
raw/playwright/workflows/sales-invoice-line-unit-20260519T210702Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk4. - Final document:
999901698 / FT 9999/1698, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=CodUnidadeandvalue=Hreturned success. - Line result: before edit
CodUnidade=UN; final viewCodUnidade=H, withTotalCIVA=1.96677unchanged. - Manual updated:
workflows/set-sales-invoice-line-unit.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 22:02 Europe/Lisbon - Sales Invoice Line Expected Date Verified
Verified end to end. Set an FT line expected date, saved the invoice, and verified the saved view retained DataPrevista=2026-05-26 00:00:00.
- Evidence:
raw/playwright/workflows/sales-invoice-line-expected-date-20260519T210214Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk3. - Final document:
999901697 / FT 9999/1697, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=DataPrevistaandvalue=26/05/2026returned success. - Line result: before edit
DataPrevista=2026-05-19 00:00:00; final viewDataPrevista=2026-05-26 00:00:00. - Manual updated:
workflows/set-sales-invoice-line-expected-date.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:57 Europe/Lisbon - Sales Invoice Line VAT Reason Verified
Verified end to end. Set an FT line VAT reason, saved the invoice, and verified the saved view retained RI=7.
- Evidence:
raw/playwright/workflows/sales-invoice-line-vat-reason-20260519T205716Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk2. - Final document:
999901696 / FT 9999/1696, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=RIandvalue=7returned success. - Line result: before edit
RI=null; final viewRI=7,IVA=23,ValorIVA=0.36777,TotalCIVA=1.96677. - Manual updated:
workflows/set-sales-invoice-line-vat-reason.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:51 Europe/Lisbon - Sales Invoice Line Description Verified
Verified end to end. Changed an FT line description, saved the invoice, and verified the saved view retained the custom description without changing totals.
- Evidence:
raw/playwright/workflows/sales-invoice-line-description-20260519T205155Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk1. - Final document:
999901695 / FT 9999/1695, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=DesignacaoExtreturned success. - Line result: before edit
DesignacaoExtwas empty; final view retainedDesignacaoExt=Consultoria operacional OfficeGest. - Manual updated:
workflows/change-sales-invoice-line-description.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:47 Europe/Lisbon - Sales Invoice Line Unit Price Verified
Verified end to end. Changed an FT line unit price from 1.599 to 2.50, saved the invoice, and verified the saved view retained the changed price and recalculated totals.
- Evidence:
raw/playwright/workflows/sales-invoice-line-unit-price-20260519T204703Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjk0. - Final document:
999901694 / FT 9999/1694, customer910, list total3.08. - Line edit:
updateEditableTabDocwithcampo=PrecoUniandvalue=2.50returned success. - Line result: before edit
PrecoUni=1.599,TotalCIVA=1.96677; final viewPrecoUni=2.5,ValorIVA=0.575,TotalCIVA=3.075. - Manual updated:
workflows/change-sales-invoice-line-unit-price.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:41 Europe/Lisbon - Sales Invoice Line VAT Verified
Verified end to end. Changed an FT line VAT rate from 23 to 13, saved the invoice, and verified the saved view retained the changed VAT rate and recalculated totals.
- Evidence:
raw/playwright/workflows/sales-invoice-line-vat-20260519T204152Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjkz. - Final document:
999901693 / FT 9999/1693, customer910, list total1.81. - Lookup:
Sel2_Select_v2against tableivasreturnedReduzida 1andTaxa 13%for term13. - Line edit:
updateEditableTabDocwithcampo=IVAandvalue=13returned success. - Line result: before edit
IVA=23,TotalCIVA=1.96677; final viewIVA=13,ValorIVA=0.20787,TotalCIVA=1.80687. - Manual updated:
workflows/set-sales-invoice-line-vat.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:35 Europe/Lisbon - Sales Invoice Line Warehouse Verified
Verified end to end. Changed an FT line warehouse from 1 to 2, handled the additional warehouse confirmation, saved the invoice, and verified the saved view retained the line-level warehouse.
- Evidence:
raw/playwright/workflows/sales-invoice-line-warehouse-20260519T203515Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjky. - Final document:
999901692 / FT 9999/1692, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=CodLojaandvalue=2returned success. - Confirmations: OfficeGest showed Will move stock a different warehouse of your preference. Confirm?, then Are you sure?.
- Line result: before edit
CodLoja=1; after edit and final viewCodLoja=2. - Manual updated:
workflows/set-sales-invoice-line-warehouse.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:28 Europe/Lisbon - Sales Invoice Line Accounting Classification Verified
Verified end to end. Applied accounting classification 1 / Mercadorias to an FT line, saved the invoice, and verified the saved view retained the line-level accounting classification.
- Evidence:
raw/playwright/workflows/sales-invoice-line-accounting-classification-20260519T202853Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjkx. - Final document:
999901691 / FT 9999/1691, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=id_classifcontabandvalue=1returned success. - Line result: before edit
id_classifcontab=null; after edit and final viewid_classifcontab=1. - Manual updated:
workflows/set-sales-invoice-line-accounting-classification.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:24 Europe/Lisbon - Sales Invoice Line Cost Center Verified
Verified end to end. Applied cost center 0002 / Dep.Comercial to an FT line, saved the invoice, and verified the saved view retained the line-level cost center.
- Evidence:
raw/playwright/workflows/sales-invoice-line-cost-center-20260519T202424Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjkw. - Final document:
999901690 / FT 9999/1690, customer910, list total1.97. - Line edit:
updateEditableTabDocwithcampo=cod_centrocustoandvalue=0002returned success. - Line result: before edit
cod_centrocusto=null; after edit and final viewcod_centrocusto=0002. - Manual updated:
workflows/set-sales-invoice-line-cost-center.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:18 Europe/Lisbon - Sales Invoice Currency Verified
Verified end to end. Changed the sales invoice currency from EUR to DOL, set exchange rate 1.1, saved the FT, confirmed the final saveDocument payload, and verified the saved view retained the currency and exchange rate.
- Evidence:
raw/playwright/workflows/sales-invoice-currency-20260519T201838Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg5. - Final document:
999901689 / FT 9999/1689, customer910, list total1.97. - Currency values: default
CodMoeda=EUR,Cambio=1; savedCodMoeda=DOL,Cambio=1.1. - Observed options included
DOL,EGP,EUR,KZ,MT,Pes, andUSD. - Nuance: the final view and FT list still displayed visible totals with euro formatting in the verified run.
- Manual updated:
workflows/set-sales-invoice-currency.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:14 Europe/Lisbon - Sales Invoice Classification Verified
Verified end to end. Selected classification CF / Cliente Final on an FT, saved the invoice, confirmed the final saveDocument payload, and verified the saved view retained the classification.
- Evidence:
raw/playwright/workflows/sales-invoice-classification-20260519T201417Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg4. - Final document:
999901688 / FT 9999/1688, customer910, list total1.97. - Classification values: before save
#doc_CodClassif=CF; final save payloadCodClassif=CF; final viewCF. - Observed options included
CF,LJW1,LJW2,MIC001,MOTP01throughMOTP04,OFI001throughOFI003, andPME001. - Manual updated:
workflows/set-sales-invoice-classification.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:09 Europe/Lisbon - Sales Invoice Delivery Details Verified
Verified end to end. Set delivery method, vehicle, loading fields, and unloading fields on an FT, saved the invoice, confirmed the final saveDocument payload, and verified the saved view retained the delivery details.
- Evidence:
raw/playwright/workflows/sales-invoice-delivery-method-20260519T200919Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg3. - Final document:
999901687 / FT 9999/1687, customer910, list total1.97. - Delivery values:
CodModoExp=NV,Viatura=AI-VAN-2026, loading addressArmazem OfficeGest Leiria, unloading addressRua Entrega OfficeGest 456. - Time nuance: entered loading time
10:30was saved as21:14; unloading time15:45persisted. - Manual updated:
workflows/set-sales-invoice-delivery-method.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 21:04 Europe/Lisbon - Sales Invoice Global Discount Verified
Verified end to end. Applied a 5% document-level discount to a sales invoice, saved the FT, confirmed the final saveDocument payload, and verified the discounted total in the saved view and FT list.
- Evidence:
raw/playwright/workflows/sales-invoice-global-discount-20260519T200434Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg2. - Final document:
999901686 / FT 9999/1686, customer910, list total1.87. - Document discount:
#doc_PerDesc=5, submitted asPerDesc=5. - Totals changed from discount
0.00 EUR, net1.60 EUR, VAT0.37 EUR, total1.97 EURto discount0.08 EUR, net1.52 EUR, VAT0.35 EUR, total1.87 EUR. - Manual updated:
workflows/apply-sales-invoice-global-discount.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:59 Europe/Lisbon - Sales Invoice Line Discount Verified
Verified end to end. Applied a 10% first discount to a sales invoice line, saved the FT, confirmed the line retained the discount, and verified the FT list total reflected the discount.
- Evidence:
raw/playwright/workflows/sales-invoice-line-discount-20260519T195856Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg1. - Final document:
999901685 / FT 9999/1685, customer910, list total1.77. - Line edit:
updateEditableTabDocwithcampo=Desconto1andvalue=10returned success. - Line result:
Desconto1=10,DescontoLinha=0.1599, final VAT value0.330993. - Manual updated:
workflows/apply-sales-invoice-line-discount.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:52 Europe/Lisbon - Sales Invoice Fiscal Zone Verified with Caveat
Verified with caveat. Changed a sales invoice fiscal zone from PT-MA to PT, saved the FT, confirmed the final saveDocument payload, and verified that the saved view reset to the customer default PT-MA.
- Evidence:
raw/playwright/workflows/sales-invoice-fiscal-zone-20260519T195158Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjg0. - Final document:
999901684 / FT 9999/1684, customer910, total1.97. - Fiscal-zone lookup:
Sel2_Select_ZonasFiscaisreturnedPT/ Portugal; observed alternatives includePT-AC,PT-MA, andES. - Saved request nuance:
saveDocumentsubmittedzonafiscal=PT, but the final view showed#doc_zonafiscal=PT-MA. - Manual updated:
workflows/set-sales-invoice-fiscal-zone.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:44 Europe/Lisbon - Sales Invoice Billing Address Verified
Verified end to end. Selected Other Addresses on an FT, entered a manual billing name and address, saved the invoice, confirmed the final saveDocument payload, and verified the FT list row used the alternate billing name.
- Evidence:
raw/playwright/workflows/sales-invoice-billing-address-20260519T194417Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjgy. - Final document:
999901682 / FT 9999/1682, customer910, total1.97. - Billing selector:
MoradaFact=-OTRbefore save. - Saved billing values:
NomeFact=AI Alternate Billing 20260519,Morada=Rua Alternativa OfficeGest 123,Localidade=Leiria,CodPostal=2400-001,CodPais=PRT. - Manual updated:
workflows/set-sales-invoice-billing-address.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:38 Europe/Lisbon - Sales Invoice Payment Terms Verified
Verified end to end. Changed a sales invoice payment condition from PP to 30, set due date 18/06/2026, saved the FT, confirmed the final saveDocument payload, and verified the final view and list state.
- Evidence:
raw/playwright/workflows/sales-invoice-payment-terms-20260519T193814Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjgx. - Final document:
999901681 / FT 9999/1681, customer910, total1.97. - Payment term:
CodFormaPag=30, days30, due date18/06/2026. - List result:
fpag: 30 Dias,ABR/ Open, pending1.97. - Manual updated:
workflows/set-sales-invoice-payment-terms.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:32 Europe/Lisbon - Sales Invoice Vehicle Details Verified
Verified end to end. Selected customer 910, chose existing vehicle 75-XU-14, entered current km, saved an FT invoice, confirmed the vehicle values were submitted in saveDocument, and verified they persisted on the final invoice view.
- Evidence:
raw/playwright/workflows/sales-invoice-vehicle-20260519T193202Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjgw. - Final document:
999901680 / FT 9999/1680, customer910, total1.97. - Vehicle lookup:
Sel2_viaturasreturned75-XU-14,Honda Vision - 2018. - Saved vehicle values:
CodEquipExt=75-XU-14,Marca=Honda,Modelo=Vision,Versao=2018,ContKmAnt=3111111,ContKmAct=3111222. - Manual updated:
workflows/add-sales-invoice-vehicle.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:25 Europe/Lisbon - Sales Invoice Notes Verified
Verified end to end. Created a Factura [FT] with a customer-facing document note and an internal back-office note, confirmed both note values were submitted in the final saveDocument payload, and verified both persisted on the final invoice view.
- Evidence:
raw/playwright/workflows/sales-invoice-notes-20260519T192511Z.json. - Route:
/vendas/ft/create; final view/vendas/ft/view/OTk5OTAxNjc5. - Final document:
999901679 / FT 9999/1679, customer910, total1.97. - Public note field:
#doc_Obs, submitted asObs. - Internal note field:
#i_message2, submitted asObs2. - Manual updated:
workflows/add-sales-invoice-notes.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:17 Europe/Lisbon - Receipt No Documents Validation Verified
Verified end to end. Selected customer 910 on a Receipt [R], left the Documents grid empty, clicked End, captured ErrorNo lines, and confirmed no final saveDocumentRecibo request was submitted.
- Evidence:
raw/playwright/workflows/receipt-no-documents-validation-20260519T191736Z.json. - Route:
/vendas/r/create, titleOG - Receipt [R]. - Receipt state: customer
910selected,DocsAPagarempty, and no source document moved from pending documents. - Validation result: visible toast
ErrorNo lines. - Final-save boundary: no
saveDocumentReciborequest was submitted. - Manual updated:
workflows/handle-receipt-no-documents-error.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:12 Europe/Lisbon - Invoice / Receipt Split Payment Verified
Verified end to end. Created an FR with two payment rows, validated the combined payment, saved the document, verified the FR list state, and confirmed stock moved.
- Evidence:
raw/playwright/workflows/invoice-receipt-split-payment-20260519T191233Z.json. - Route:
/vendas/fr/create; final view/vendas/fr/view/OTk5OTAwODQ2. - Final document:
999900846 / FR 9999/846, customer910, total1.97. - Payment split:
NUM 1.00plusTRA 0.97; validation returnedvalid:trueandtroco:0. - Final state: FR list returned
LIQ/ Finished,ValorPago=1.97, pending0.00, and stock moved from-4to-5. - Manual updated:
workflows/create-invoice-receipt-split-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 20:05 Europe/Lisbon - Invoice / Receipt Partial Payment Validation Verified
Verified end to end. Added a NUM payment of 1.00 to an FR whose total was 1.97, clicked the payment modal Save, verified payment&option=validate returned valid:false, and confirmed no final saveDocument request was submitted.
- Evidence:
raw/playwright/workflows/invoice-receipt-partial-payment-validation-20260519T190550Z.json. - Route:
/vendas/fr/create, titleOG - Invoice / Receipt [FR]. - Invoice state: customer
910, one article line forAI-DEMO-20260519-021105, quantity1, total with VAT1.96677. - Validation result:
payment&option=validatereturnedvalid:false,troco:-0.97, and the payment modal stayed open with payment total1.00. - Final-save boundary: no
saveDocumentrequest was submitted, and warehouse1stock stayed at-3. - Manual updated:
workflows/handle-invoice-receipt-partial-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:59 Europe/Lisbon - Invoice / Receipt Inactive Customer Validation Verified
Verified end to end. Selected inactive customer 1 on an FR, inserted one article line, clicked Save and Finish, and confirmed OfficeGest did not submit final saveDocument.
- Evidence:
raw/playwright/workflows/invoice-receipt-inactive-customer-validation-20260519T185928Z.json. - Route:
/vendas/fr/create, titleOG - Invoice / Receipt [FR]. - Customer lookup:
NameEntidadesreturned customer1, Consumidor Final, VAT999999990, withactivo:"F". - Selection result: OfficeGest showed
Inactive billing entity! The billing entity is inactive., then#doc_CodTercand#doc_NContribwere empty. - Finalization result: Error There are mandatory fields unfilled, no
saveDocument, and warehouse1stock stayed at-3. - Manual updated:
workflows/handle-invoice-receipt-inactive-customer.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:53 Europe/Lisbon - Simplified Invoice Missing Payment Validation Verified
Verified end to end. Selected a valid customer on an FS, inserted one article line, clicked Save and Finish without adding a payment line, verified payment&option=validate returned valid:"NONE", and confirmed no final saveDocument request was submitted.
- Evidence:
raw/playwright/workflows/simplified-invoice-missing-payment-validation-20260519T185326Z.json. - Route:
/vendas/fs/create, titleOG - Simplified Invoice [FS]. - Invoice state: customer
910, one article line forAI-DEMO-20260519-021105, quantity1, total with VAT1.96677. - Validation result:
payment&option=validatereturnedvalid:"NONE",troco:-1.97, and the payment modal opened with payment total0.00. - Final-save boundary: no
saveDocumentrequest was submitted, and warehouse1stock stayed at-3. - Manual updated:
workflows/handle-simplified-invoice-missing-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:47 Europe/Lisbon - Invoice / Receipt Missing Payment Validation Verified
Verified end to end. Selected a valid customer on an FR, inserted one article line, clicked Save and Finish without adding a payment line, verified payment&option=validate returned valid:"NONE", and confirmed no final saveDocument request was submitted.
- Evidence:
raw/playwright/workflows/invoice-receipt-missing-payment-validation-20260519T184723Z.json. - Route:
/vendas/fr/create, titleOG - Invoice / Receipt [FR]. - Invoice state: customer
910, one article line forAI-DEMO-20260519-021105, quantity1, total with VAT1.96677. - Validation result:
payment&option=validatereturnedvalid:"NONE",troco:-1.97, and the payment modal opened with payment total0.00. - Final-save boundary: no
saveDocumentrequest was submitted, and warehouse1stock stayed at-3. - Manual updated:
workflows/handle-invoice-receipt-missing-payment.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:42 Europe/Lisbon - Sales Invoice Missing Customer Validation Verified
Verified end to end. Added one article line to a blank FT without selecting a customer, clicked Save and Finish, captured the visible mandatory-fields toast, verified customer/VAT fields were marked, and confirmed no final saveDocument request was submitted.
- Evidence:
raw/playwright/workflows/sales-invoice-missing-customer-validation-20260519T184220Z.json. - Route:
/vendas/ft/create, titleOG - Invoice [FT]. - Line state: one article line for
AI-DEMO-20260519-021105, quantity1, total with VAT1.96677. - Validation result: visible toast
Error There are mandatory fields unfilled. - Field markers:
#doc_CodTercand#doc_NContribhadchosen-error. - Final-save boundary: no
saveDocumentrequest was submitted, and OfficeGest stayed on the create route. - Manual updated:
workflows/handle-sales-invoice-mandatory-fields-error.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:36 Europe/Lisbon - Sales Invoice No Lines Validation Verified
Verified end to end. Opened a blank FT create page, clicked Save and Finish, captured the visible ErrorNo lines toast, and verified no final saveDocument request was submitted.
- Evidence:
raw/playwright/workflows/sales-invoice-no-lines-validation-20260519T183637Z.json. - Route:
/vendas/ft/create, titleOG - Invoice [FT]. - Blank state: customer empty, article search empty, and line grid row count
0. - Validation result: visible toast
ErrorNo lines. - Final-save boundary: no
saveDocumentrequest was submitted, and OfficeGest stayed on the create route. - Manual updated:
workflows/handle-sales-invoice-no-lines-error.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:29 Europe/Lisbon - Saved Sales Invoice Draft Quantity Change Verified
Verified end to end. Created a fresh FT draft, changed the article line quantity while it was still a draft, saved it again as a draft, reopened the active edited draft, and verified no final FT row or stock movement was created by the quantity edit.
- Evidence:
raw/playwright/workflows/change-quantity-sales-invoice-draft-20260519T182947Z.json. - Source draft run:
sales-invoice-draft-ft-20260519T182919Z. - Original draft:
474, route/vendas/ft/rasc/NDc0. - Edited active draft:
475, route/vendas/ft/rasc/NDc1. - Quantity result: row count stayed
1; total quantity changed from1to2. - Final-document check:
DT_List_Documentosreturned no final FT rows for the edited reference. - Stock result: warehouse
1stock stayed at-3before and after the draft quantity change. - Manual updated:
workflows/change-quantity-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:21 Europe/Lisbon - Saved Sales Invoice Draft Line Deletion Verified
Verified end to end. Created a fresh FT draft, added a second article line, deleted one line while it was still a draft, saved it again as a draft, reopened the active edited draft, and verified no final FT row or stock movement was created by the line deletion.
- Evidence:
raw/playwright/workflows/delete-line-sales-invoice-draft-20260519T182132Z.json. - Source add-line run:
add-line-sales-invoice-draft-20260519T182107Z. - Original two-line draft:
472, route/vendas/ft/rasc/NDcy. - Edited active draft:
473, route/vendas/ft/rasc/NDcz. - Line result: row count changed from
2to1; total quantity changed from2to1. - Final-document check:
DT_List_Documentosreturned no final FT rows for the edited reference. - Stock result: warehouse
1stock stayed at-3before and after the draft line deletion. - Manual updated:
workflows/delete-line-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:12 Europe/Lisbon - Saved Sales Invoice Draft Line Add Verified
Verified end to end. Created a fresh FT draft, added another article line while it was still a draft, saved it again as a draft, reopened the active edited draft, and verified no final FT row or stock movement was created by the line edit.
- Evidence:
raw/playwright/workflows/add-line-sales-invoice-draft-20260519T181220Z.json. - Source draft run:
sales-invoice-draft-ft-20260519T181144Z. - Original draft:
469, route/vendas/ft/rasc/NDY5. - Edited active draft:
470, route/vendas/ft/rasc/NDcw. - Line result: row count changed from
1to2; total quantity changed from1to2. - Final-document check:
DT_List_Documentosreturned no final FT rows for the edited reference. - Stock result: warehouse
1stock stayed at-3before and after the draft line add. - Manual updated:
workflows/add-line-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 19:06 Europe/Lisbon - Saved Sales Invoice Draft Edit Verified
Verified end to end. Created a fresh FT draft, changed its reference, saved it again as a draft, reopened the active edited draft, and verified no final FT row or stock movement was created by the edit.
- Evidence:
raw/playwright/workflows/edit-sales-invoice-draft-20260519T180638Z.json. - Source draft run:
sales-invoice-draft-ft-20260519T180605Z. - Original draft:
467, route/vendas/ft/rasc/NDY3. - Edited active draft:
468, route/vendas/ft/rasc/NDY4. - Edited reference:
AI-FT-DRAFT-20260519T180605Z-EDIT. - Final-document check:
DT_List_Documentosreturned no final FT rows for the edited reference. - Stock result: warehouse
1stock stayed at-3before and after the edit re-save. - Manual updated:
workflows/edit-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:59 Europe/Lisbon - Saved Sales Invoice Draft Finalization Verified
Verified end to end. Created a fresh FT draft, reopened the saved draft route, used Save and Finish, confirmed the dialog, and verified the final FT in the invoice list and stock movement.
- Evidence:
raw/playwright/workflows/finalize-saved-sales-invoice-draft-20260519T175951Z.json. - Source draft run:
sales-invoice-draft-ft-20260519T175923Z. - Draft:
465, route/vendas/ft/rasc/NDY1. - Final invoice:
999901677 / FT 9999/1677, final view/vendas/ft/view/OTk5OTAxNjc3. - Final state:
ABR/ Open, total1.97, paid0.00, pending1.97. - Stock result: warehouse
1stock for articleAI-DEMO-20260519-021105changed from-2before finalization to-3after finalization. - Manual updated:
workflows/finalize-saved-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:52 Europe/Lisbon - Sales Invoice Draft Save Verified
Verified end to end. Filled a normal FT invoice, used Save Draft instead of Save and Finish, opened the saved draft route, and verified that no final FT row was created for the draft reference.
- Evidence:
raw/playwright/workflows/sales-invoice-draft-ft-20260519T175248Z.json. - Draft:
464, final route/vendas/ft/rasc/NDY0. - Reference:
AI-FT-DRAFT-20260519T175248Z. - Save response:
"OK:464:&=&AI-DEMO-20260519-021105:1#". - Final-document check:
DT_List_Documentosreturned no final FT rows for the draft reference. - Stock result: warehouse stock for article
AI-DEMO-20260519-021105stayed at-1before and after draft save. - Manual updated:
workflows/save-sales-invoice-draft.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:43 Europe/Lisbon - Sales Invoice to Receipt Verified
Verified end to end. Created a fresh FT invoice, used the invoice view's To convert / Receipt action, confirmed the source invoice was preloaded in the receipt Documents grid, added a cash payment, saved the R receipt, and verified the source FT became paid.
- Evidence:
raw/playwright/workflows/sales-invoice-to-receipt-20260519T174312Z.json. - Source invoice:
999901675 / FT 9999/1675. - Receipt:
999900246 / R 9999/246, final view/vendas/r/view/OTk5OTAwMjQ2. - Preload behavior:
/vendas/r/createopened with customer910; Documents contained the source FT with value to pay1.97. - Final verification: receipt list returned
F/ Closed; source FT returnedLIQ/ Finished,ValorPago=1.97, pending0.00. - Manual updated:
workflows/convert-sales-invoice-to-receipt.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:18 Europe/Lisbon - Converted Pro-Forma Sales Order Draft Finalization Verified
Verified end to end. I created a fresh pro-forma invoice, converted it to an ENC draft, then saved that draft as a final sales order and verified the final ENC row in the list.
- Evidence:
raw/playwright/workflows/finalize-converted-proforma-sales-order-draft-20260519T171841Z.json. - Source pro-forma:
999900065 / FP 9999/65, referenceAI-FP-ENC-FIN-20260519T171841Z. - Draft:
463, opened at/vendas/enc/rasc/NDYz. - Final save response:
{"return":"999900109%&=&OKDOC&=&","print_documents":[]}. - Final sales order:
999900109 / ENC 9999/109, opened at/vendas/enc/view/OTk5OTAwMTA5. - Final ENC state:
ABR/ Open, total1.97, paid value0. - Manual added:
workflows/finalize-converted-proforma-sales-order-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:12 Europe/Lisbon - Converted Pro-Forma Invoice / Receipt Draft Finalization Verified
Verified end to end. I created a fresh pro-forma invoice, converted it to an FR draft, completed the payment modal, then saved that draft as a final invoice / receipt and verified the final FR row in the list.
- Evidence:
raw/playwright/workflows/finalize-converted-proforma-invoice-receipt-draft-20260519T171230Z.json. - Source pro-forma:
999900064 / FP 9999/64, referenceAI-FP-FR-FIN-20260519T171230Z. - Draft:
463, opened at/vendas/fr/rasc/NDYz. - Payment: [NUM] Numerário, total
1.97. - Final save response:
{"return":"999900844%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice / receipt:
999900844 / FR 9999/844, opened at/vendas/fr/view/OTk5OTAwODQ0. - Final FR state:
LIQ/ Finished, total1.97, paid value1.97. - Manual added:
workflows/finalize-converted-proforma-invoice-receipt-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:08 Europe/Lisbon - Converted Pro-Forma Invoice Draft Finalization Verified
Verified end to end. I created a fresh pro-forma invoice, converted it to an FT draft, then saved that draft as a final FT invoice and verified the final invoice in the FT list.
- Evidence:
raw/playwright/workflows/finalize-converted-proforma-invoice-draft-20260519T170759Z.json. - Source pro-forma:
999900063 / FP 9999/63, referenceAI-FP-FT-FIN-20260519T170759Z. - Conversion options observed on FP view: Invoice, Invoice / Receipt, and Internal Doc.
- Draft:
463, opened at/vendas/ft/rasc/NDYz. - Final save response:
{"return":"999901670%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice:
999901670 / FT 9999/1670, opened at/vendas/ft/view/OTk5OTAxNjcw. - Final FT state:
ABR/ Open, total1.97, paid value0. - Manual added:
workflows/finalize-converted-proforma-invoice-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:03 Europe/Lisbon - Converted Quotation Sales Order Draft Finalization Verified
Verified end to end. I created a fresh quotation, converted it to an ENC draft, then saved that draft as a final sales order and verified the final ENC row in the list.
- Evidence:
raw/playwright/workflows/finalize-converted-quotation-sales-order-draft-20260519T170312Z.json. - Source quotation:
999900094 / ORC 9999/94, referenceAI-ORC-ENC-FIN-20260519T170312Z. - Draft:
463, opened at/vendas/enc/rasc/NDYz. - Final save response:
{"return":"999900108%&=&OKDOC&=&","print_documents":[]}. - Final sales order:
999900108 / ENC 9999/108, opened at/vendas/enc/view/OTk5OTAwMTA4. - Final ENC state:
ABR/ Open, total1.97, paid value0. - Manual added:
workflows/finalize-converted-quotation-sales-order-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:58 Europe/Lisbon - Converted Quotation Invoice / Receipt Draft Finalization Verified
Verified end to end. I created a fresh quotation, converted it to an FR draft, completed the payment modal, then saved that draft as a final invoice / receipt and verified the final FR row in the list.
- Evidence:
raw/playwright/workflows/finalize-converted-quotation-invoice-receipt-draft-20260519T165805Z.json. - Source quotation:
999900093 / ORC 9999/93, referenceAI-ORC-FR-FIN-20260519T165805Z. - Draft:
463, opened at/vendas/fr/rasc/NDYz. - Payment: [NUM] Numerário, total
1.97. - Final save response:
{"return":"999900843%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice / receipt:
999900843 / FR 9999/843, opened at/vendas/fr/view/OTk5OTAwODQz. - Final FR state:
LIQ/ Finished, total1.97, paid value1.97. - Manual added:
workflows/finalize-converted-quotation-invoice-receipt-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:54 Europe/Lisbon - Converted Quotation Invoice Draft Finalization Verified
Verified end to end. I created a fresh quotation, converted it to an FT draft, then saved that draft as a final FT invoice and verified the final invoice in the FT list.
- Evidence:
raw/playwright/workflows/finalize-converted-quotation-invoice-draft-20260519T165348Z.json. - Source quotation:
999900092 / ORC 9999/92, referenceAI-ORC-FT-FIN-20260519T165348Z. - Draft:
463, opened at/vendas/ft/rasc/NDYz. - Final save response:
{"return":"999901669%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice:
999901669 / FT 9999/1669, opened at/vendas/ft/view/OTk5OTAxNjY5. - Final FT state:
ABR/ Open, total1.97, paid value0. - Manual added:
workflows/finalize-converted-quotation-invoice-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:47 Europe/Lisbon - Converted Sales Order Invoice / Receipt Draft Finalization Verified
Verified end to end. I created a fresh sales order, converted it to an FR draft, completed the payment modal, then saved that draft as a final invoice / receipt and verified the final FR row in the list.
- Evidence:
raw/playwright/workflows/finalize-converted-sales-order-invoice-receipt-draft-20260519T164715Z.json. - Source sales order:
999900107 / ENC 9999/107, referenceAI-ENC-FR-FIN-20260519T164715Z. - Draft:
463, opened at/vendas/fr/rasc/NDYz. - Payment: [NUM] Numerário, total
1.97. - Final save response:
{"return":"999900842%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice / receipt:
999900842 / FR 9999/842, opened at/vendas/fr/view/OTk5OTAwODQy. - Final FR state:
LIQ/ Finished, total1.97, paid value1.97. - Manual added:
workflows/finalize-converted-sales-order-invoice-receipt-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:41 Europe/Lisbon - Converted Sales Order Invoice Draft Finalization Verified
Verified end to end. I created a fresh sales order, converted it to an FT draft, then saved that draft as a final FT invoice and verified the final invoice in the FT list.
- Evidence:
raw/playwright/workflows/finalize-converted-sales-order-invoice-draft-20260519T164146Z.json. - Source sales order:
999900106 / ENC 9999/106, referenceAI-ENC-FT-FIN-20260519T164146Z. - Draft:
463, opened at/vendas/ft/rasc/NDYz. - Final save response:
{"return":"999901668%OK&=&OKDOC&=&","print_documents":[]}. - Final invoice:
999901668 / FT 9999/1668, opened at/vendas/ft/view/OTk5OTAxNjY4. - Final FT state:
ABR/ Open, total1.97, paid value0. - Manual added:
workflows/finalize-converted-sales-order-invoice-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:31 Europe/Lisbon - Quotation to Sales Order Draft Conversion Verified
Verified to draft. I created a fresh quotation, used the saved quotation's To convert / Internal Doc action, and verified that OfficeGest opened an ENC draft copied from the ORC source. I stopped before final sales order save.
- Evidence:
raw/playwright/workflows/quotation-to-sales-order-draft-20260519T163135Z.json. - Source quotation:
999900091 / ORC 9999/91, referenceAI-ORC-ENC-20260519T163135Z. - Conversion action:
facturardocwithtipoopdest=enc,tipoop=ORC, andnum=999900091. - Response:
"OK:462:vendas"; generated draft route/vendas/enc/rasc/NDYy. - Draft line proof: article
AI-DEMO-20260519-021105, quantity1, source metadatandocori=999900091,tipodocori=ORC,linhandocori=1. - Source ORC state after draft creation: still
ABR/ Open in the ORC list. - Manual added:
workflows/convert-quotation-to-sales-order-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:26 Europe/Lisbon - Sales Order to Invoice / Receipt Draft Conversion Verified
Verified to draft. I created a fresh sales order, used the saved order's Invoice / Invoice / Receipt action, and verified that OfficeGest opened an FR draft copied from the ENC source. I stopped before payment or final invoice / receipt save.
- Evidence:
raw/playwright/workflows/sales-order-to-invoice-receipt-draft-20260519T162611Z.json. - Source sales order:
999900105 / ENC 9999/105, referenceAI-ENC-FR-20260519T162611Z. - Conversion action:
facturardocwithtipoopdest=fr,tipoop=ENC, andnum=999900105. - Response:
"OK:461:vendas"; generated draft route/vendas/fr/rasc/NDYx. - Draft line proof: article
AI-DEMO-20260519-021105, quantity1, source metadatandocori=999900105,tipodocori=ENC,linhandocori=1. - Source ENC state after draft creation: still
ABR/ Open in the ENC list. - Manual added:
workflows/convert-sales-order-to-invoice-receipt-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:21 Europe/Lisbon - Quotation to Invoice / Receipt Draft Conversion Verified
Verified to draft. I created a fresh quotation, used the saved quotation's To convert / Invoice / Receipt action, and verified that OfficeGest opened an FR draft copied from the ORC source. I stopped before payment or final invoice / receipt save.
- Evidence:
raw/playwright/workflows/quotation-to-invoice-receipt-draft-20260519T162111Z.json. - Source quotation:
999900090 / ORC 9999/90, referenceAI-ORC-FR-20260519T162111Z. - Conversion action:
facturardocwithtipoopdest=fr,tipoop=ORC, andnum=999900090. - Response:
"OK:460:vendas"; generated draft route/vendas/fr/rasc/NDYw. - Draft line proof: article
AI-DEMO-20260519-021105, quantity1, source metadatandocori=999900090,tipodocori=ORC,linhandocori=1. - Source ORC state after draft creation: still
ABR/ Open in the ORC list. - Manual added:
workflows/convert-quotation-to-invoice-receipt-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:15 Europe/Lisbon - Sales Order to Invoice Draft Conversion Verified
Verified to draft. I created a fresh sales order, used the saved order's Invoice / Invoice action, and verified that OfficeGest opened an FT draft copied from the ENC source. I stopped before final invoice save.
- Evidence:
raw/playwright/workflows/sales-order-to-invoice-draft-20260519T161456Z.json. - Source sales order:
999900104 / ENC 9999/104, referenceAI-ENC-FT-20260519T161456Z. - Conversion action:
facturardocwithtipoopdest=ft,tipoop=ENC, andnum=999900104. - Response:
"OK:459:vendas"; generated draft route/vendas/ft/rasc/NDU5. - Draft line proof: article
AI-DEMO-20260519-021105, quantity1, source metadatandocori=999900104,tipodocori=ENC,linhandocori=1. - Source ENC state after draft creation: still
ABR/ Open in the ENC list. - Manual added:
workflows/convert-sales-order-to-invoice-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 17:09 Europe/Lisbon - Quotation to Invoice Draft Conversion Verified
Verified to draft. I created a fresh quotation, used the saved quotation's To convert / Invoice action, and verified that OfficeGest opened an FT draft copied from the ORC source. I stopped before final invoice save.
- Evidence:
raw/playwright/workflows/quotation-to-invoice-draft-20260519T160923Z.json. - Source quotation:
999900089 / ORC 9999/89, referenceAI-ORC-FT-20260519T160923Z. - Conversion action:
facturardocwithtipoopdest=ft,tipoop=ORC, andnum=999900089. - Response:
"OK:458:vendas"; generated draft route/vendas/ft/rasc/NDU4. - Draft line proof: article
AI-DEMO-20260519-021105, quantity1, source metadatandocori=999900089,tipodocori=ORC,linhandocori=1. - Source ORC state after draft creation: still
ABR/ Open in the ORC list. - Manual added:
workflows/convert-quotation-to-invoice-draft.html, plus updates toworkflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 16:57 Europe/Lisbon - Ticket Resolution Models Delete Gap Found
Partial verification only. I verified that ticket resolution models can be created and updated with createUpdateTikResolutionModel, but the list page delete action currently returns Invalid / Not Found Action in the demo.
- Source inspect evidence:
raw/playwright/workflows/ticket-resolution-models-source-20260519T160500Z.jsonandraw/playwright/workflows/ticket-resolution-models-form-inspect-20260519T155648Z.json. - Failed state-changing probe:
raw/playwright/workflows/ticket-resolution-models-probe-20260519T155729Z-failed.json. - Created inactive probe row:
AI resolution model edit 155729, id6, with no department and no topic. - The page script calls
deleteTikResolution_Model, but both direct fetch and UI-confirmed delete returned{"succeeded":false,"message":"Invalid / Not Found Action"}. - No CRUD manual was published for this workflow because cleanup is not verified.
2026-05-19 16:51 Europe/Lisbon - Ticket Automatic Responses Support File CRUD Verified
Verified end to end. I created one disposable inactive ticket automatic response for collaborator Demo, renamed it, deleted it, and confirmed it was absent from the automatic responses list endpoint.
- Evidence:
raw/playwright/workflows/ticket-autoanswer-crud-20260519T155118Z.json. - Automatic response:
5; create name:AI autoanswer 155118; edited name:AI autoanswer edit 155118. - Create request:
ticketsautoanswer/save_auto_answerwith serialized formid=-1, name, andcodempr=1; response returned{"succeeded":true,"message":{"autoanswer":{"modified":true,"id":5}}}. - Update request:
ticketsautoanswer/save_auto_answerwithid=5, edited name, andcodempr=1; response returned{"succeeded":true}with id5. - Delete request:
ticketsautoanswer/delete_auto_answerwithid=5; response returned{"succeeded":true,"message":{"autoanswer":true}}. - Verification: final
DT_Select_tickets_autoanswerdid not containAI autoanswer edit 155118. - Manual updated:
workflows/manage-ticket-automatic-responses.html,workflows/index.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 16:39 Europe/Lisbon - Ticket Filters Support File CRUD Verified
Verified end to end. I created one disposable inactive email ticket filter with a rule and action, opened it in the edit page, renamed and reordered it, deleted it, and confirmed it was absent from the filters list endpoint.
- Evidence:
raw/playwright/workflows/ticket-filters-crud-20260519T153928Z.json. - Filter:
4; create name:AI filter 153928; edited name:AI filter edit 153928. - Create request:
createUpdateTikFilterwith inactive email target, execution order98, rulesubject contains AI-FILTER-153928, andfilter_disable_autoresponder=1; response returned{"success":true,"id":4}. - Validation findings: a filter without a rule returns
No set rule; a filter with a rule but no action returnsNo definite action. - Update request:
createUpdateTikFilterwithfilter_id=4, edited name, execution order99, edited rule value, and the same autoresponder action; response returned{"success":true,"id":"4"}. - Delete request:
deleteTikFilterwithid=4; response returned{"success":true}. - Verification: final
DT_Select_tickets_filtersdid not containAI filter edit 153928. - Manual updated:
workflows/manage-ticket-filters.html,workflows/index.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 17:05 Europe/Lisbon - Invoicing Hub Added
Organization update. The invoicing evidence was already covered across individual workflow pages, so I added a decision-oriented hub that tells users which sales document to create before opening the detailed guide.
- New page:
workflows/invoicing-hub.html. - Covered choices:
FR,FT,FS,R,NC,ND,FP,ENC, andORC. - Linked from the main entry page, focused first-version manual, How-To Index, Sales module overview, and generated master manual.
2026-05-19 16:29 Europe/Lisbon - Ticket Macro Replies Support File CRUD Verified
Verified end to end. I created one disposable ticket macro reply, loaded it, renamed and edited the rich-text answer, deleted it, and confirmed it was absent from the macro replies list endpoint.
- Evidence:
raw/playwright/workflows/ticket-macro-replies-crud-20260519T152909Z.json. - Macro reply:
3; create name:AI macro 152909; edited name:AI macro edit 152909. - Create request:
createUpdateMacroReplywith HTML body, active flag, empty department/topic fields, and reply typeall; response returned{"success":true,"id":3}. - Load request:
loadTikMacroReplywithid=3andattachs=1; response returned nestedmacro_replydata. - Update request:
createUpdateMacroReplywithtik_macro_reply_id=3, edited name, and edited body; response returned{"success":true,"id":"3"}. - Delete request:
deleteTikMacroReplywithid=3; response returned{"success":true}. - Verification: final
DT_Select_tickets_macro_repliesdid not containAI macro edit 152909. - Manual updated:
workflows/manage-ticket-macro-replies.html,workflows/index.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:42 Europe/Lisbon - Ticket SLA Support File CRUD Verified
Verified end to end. I created one disposable ticket SLA, derived its id from the list endpoint, loaded it, renamed it with different minute limits, deleted it, and confirmed it was absent from the SLA list endpoint.
- Evidence:
raw/playwright/workflows/ticket-slas-crud-20260519T144235Z.json. - SLA:
5; create name:AI sla 144235; edited name:AI sla edit 144235. - Create request:
createUpdateTikSLAwith serialized form containing emptysla_id,sla_name,sla_period_1st_reply=5,sla_period_reply=10,sla_period_resolution=15, andsla_active=1; response returned{"success":true}. - Endpoint nuance: the SLA create response did not include the id, so the workflow derived id
5fromDT_Select_tickets_slas. - Load request:
loadTikSLAwithid=5; response returned the SLA name, active flag, and minute thresholds. - Update request:
createUpdateTikSLAwithsla_id=5, edited name, and minute limits6,11, and16; response returned{"success":true}. - Delete request:
deleteTikSLAwithid=5; response returned{"success":true}. - Verification: final
DT_Select_tickets_slasdid not containAI sla edit 144235. - Manual updated:
workflows/manage-ticket-slas.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:37 Europe/Lisbon - Ticket Topics Support File CRUD Verified
Verified end to end. I created one disposable ticket topic, loaded it, renamed it, deleted it, and confirmed it was absent from the topics list endpoint.
- Evidence:
raw/playwright/workflows/ticket-topics-crud-20260519T143724Z.json. - Topic:
6; create name:AI topic 143724; edited name:AI topic edit 143724. - Create request:
createUpdateTikTopicwith serialized form containing emptytopic_id,topic_name, emptytopic_sla_id,topic_tag_format=AI,topic_public=1, andtopic_active=1; response returned{"success":true,"id":6}. - Load request:
loadTikTopicwithid=6; response returned top-level topic fields and flags. - Update request:
createUpdateTikTopicwithtopic_id=6and edited name; response returned{"success":true,"id":"6"}. - Delete request:
deleteTikTopicwithid=6; response returned{"success":true}. - Verification: final
DT_Select_tickets_topicsdid not containAI topic edit 143724. - Manual updated:
workflows/manage-ticket-topics.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:32 Europe/Lisbon - Ticket Departments Support File CRUD Verified
Verified end to end. I created one disposable ticket department, opened it in the view/edit page, renamed it, deleted it, and confirmed it was absent from the departments list endpoint.
- Evidence:
raw/playwright/workflows/ticket-departments-crud-20260519T143230Z.json. - Department:
6; create name:AI dept 143230; edited name:AI dept edit 143230. - Create request:
createUpdateTikDepartamentowith serialized form containing emptydepartment_id,department_name, empty email/SLA/tag/signature fields,department_status_reopen=1, anddepartment_active=1; response returned{"success":true,"id":6}. - View route:
/tickets/apoio/departments/view/Ng==; the form loaded fields for name, email account, label, SLA, reopen status, notification alerts, automatic close controls, active flag, and signature. - Update request:
createUpdateTikDepartamentowithdepartment_id=6and edited name; response returned{"success":true,"id":"6"}. - Delete request:
deleteTikDepartmentwithid=6; response returned{"success":true}. - Verification: final
DT_Select_tickets_departmentsdid not containAI dept edit 143230. - Manual updated:
workflows/manage-ticket-departments.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:26 Europe/Lisbon - Ticket Status Support File CRUD Verified
Verified end to end. I created one disposable ticket status, loaded it, renamed it, deleted it, and confirmed it was absent from the status list endpoint.
- Evidence:
raw/playwright/workflows/ticket-status-crud-20260519T142644Z.json. - Status:
6; create name:AI st 142644; edited name:AI st edit 142644. - Create request:
createUpdateTikStatuswith serialized form containing emptystatus_id,status_name,status_type=normal,status_active=1,status_can_chosen=1,status_closed_can_reopen=1, andask_time=1; response returned{"success":true,"id":6}. - Load request:
loadTikStatuswithid=6; response returned top-level status fields and flags. - Update request:
createUpdateTikStatuswithstatus_id=6and edited name; response returned{"success":true,"id":"6"}. - Delete request:
deleteTikStatuswithid=6; response returned{"success":true}. - Verification: final
DT_Select_tickets_statusdid not containAI st edit 142644. - Manual updated:
workflows/manage-ticket-status.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:20 Europe/Lisbon - Ticket Priorities Support File CRUD Verified
Verified end to end. I created one disposable priority, loaded it, renamed it, deleted it, and confirmed it was absent from the priorities list endpoint.
- Evidence:
raw/playwright/workflows/ticket-priorities-crud-20260519T142035Z.json. - Priority:
5; create name:AI pr 142035; edited name:AI pr edit 142035. - Create request:
createUpdateTikPrioritywith serialized form containing emptypriority_id,priority_name,priority_active=1,priority_style_fontweight=normal, and empty icon/color fields; response returned{"success":true,"id":5}. - Load request:
loadTikPrioritywithid=5; response returned active/style/icon metadata. - Update request:
createUpdateTikPrioritywithpriority_id=5and edited name; response returned{"success":true,"id":"5"}. - Delete request:
deleteTikPrioritywithid=5; response returned{"success":true}. - Verification: final
DT_Select_tickets_prioritiesdid not containAI pr edit 142035. - Manual updated:
workflows/manage-ticket-priorities.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:15 Europe/Lisbon - Ticket Task Types Support File CRUD Verified
Verified end to end. I created one disposable ticket task type, loaded it, renamed it, deleted it, and confirmed it was absent from the task types list endpoint.
- Evidence:
raw/playwright/workflows/ticket-task-types-crud-20260519T141538Z.json. - Task type:
10; create designation:AI tt 141538; edited designation:AI tt edit 141538. - Create request:
tickets/create_task_typewith serialized formid=,designation=AI tt 141538, andactive=1; response returned{"success":true,"id":10}. - Load request:
tickets/load_task_typewithid=10; response returned row metadata. - Update request:
tickets/update_task_typewith edited designation; response returned{"success":true,"affected_rows":1}. - Delete request:
tickets/delete_task_typewithid=10; response returned{"succeeded":true,"message":null,"params":{"affected_rows":1}}. - Verification: final
DT_Select_tickets_tasks_typesdid not containAI tt edit 141538. - Manual updated:
workflows/manage-ticket-task-types.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:10 Europe/Lisbon - Ticket Resend Workflow Verified
Verified with controlled creation. I created one disposable ticket, posted an outbound reply to an invalid recipient to create a failed-send post, triggered resend, captured the SMTP failure response, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-resend-20260519T141001Z.json. - Ticket:
191/SUP-2605-72300; failed post:219. - Reply request:
tickets/replyTicketwithsend_email=1to the ticket's invalid test recipient. Response returned{"succeeded":true,"message":{"data":"true"}}, and the detail page showedThis message failed to send email. - Resend request:
tickets/resend_postwithpost_id=219andticket_id=191. - Response:
{"success":false,"smtp_sent":0,"smtp_date":"2026-05-19 15:10:23","smtp_error":"SMTP connect() failed.","message":"SMTP connect() failed."}. - Cleanup: trashed ticket
191withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/resend-ticket-email.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:04 Europe/Lisbon - Ticket Forwarding Validation Workflow Verified
Verified with controlled creation. I created one disposable ticket, attempted whole-ticket and post-level forwarding to an invalid test recipient, captured validation responses, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-forward-20260519T140434Z.json. - Ticket:
190/SUP-2605-52235; post:217; recipient:aiticket-forward@example.invalid. - Whole-ticket forward request:
tickets/forward_ticketwithticket_id=190,email_dst, and emptydst_name; response returned{"success":false,"message":"Invalid Email"}. - Post forward request:
tickets/forward_postwithpost_id=217,ticket_id=190,email_dst, and emptydst_name; response returned{"success":false,"values":{"ticket_id":190}}. - Cleanup: trashed ticket
190withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/forward-ticket.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 15:00 Europe/Lisbon - Ticket Join Workflow Verified
Verified with controlled creation. I created two disposable tickets, joined them with the list bulk endpoint, verified the first ticket survived with both messages, checked the second ticket URL, and cleaned up.
- Evidence:
raw/playwright/workflows/ticket-merge-20260519T135959Z.json. - Primary ticket:
188/SUP-2605-58575; secondary ticket:189. - Join request:
tickets/MERGE_ticketswithlist[]=188andlist[]=189. - Response:
{"success":true,"message":""}. - Verification: primary ticket
188retained subjectAI Demo Ticket Merge Primary 20260519T135959Zand contained both primary and secondary message bodies; secondary ticket189returnedThe specified file was not found. - Cleanup: trashed ticket
188; cleanup call for secondary ticket189returned{"success":true,"id":"189","ticket":null}. - Manual updated:
workflows/join-tickets.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:54 Europe/Lisbon - Ticket Spam Workflow Verified
Verified with controlled creation. I created one disposable ticket, marked it as spam with the list bulk endpoint, checked the detail page and SPAM support-file page, then trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-spam-20260519T135411Z.jsonandraw/playwright/workflows/ticket-spam-support-check-20260519T135411Z.json. - Ticket:
187/SUP-2605-82913; subject:AI Demo Ticket Spam 20260519T135411Z. - Spam request:
tickets/SPAM_ticketswithlist[]=187. - Response:
{"success":true}. - Verification: ticket detail still opened and
edit_is_trashwas not checked immediately after spam;/tickets/apoio/spamshowedNo data available in table, so the fake recipient was not added as a support-file row for thissource=otherticket. - Cleanup: trashed ticket
187withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/mark-ticket-as-spam.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:49 Europe/Lisbon - Ticket Task-to-Ticket Conversion Workflow Verified
Verified end to end. I created a disposable parent ticket, added a task, converted that task into a new ticket, verified the parent task row linked to the generated ticket, and trashed both tickets.
- Evidence:
raw/playwright/workflows/ticket-task-to-ticket-20260519T134926Z.json. - Parent ticket:
185; task:173; converted ticket:186. - Conversion request:
tickets/task_newticketwithid_task=173andid_ticket=185. - Response:
{"success":true,"ticket_id":186}. - Verification: parent row
row_173linked to/tickets/tickets/view/MTg2; converted ticket186opened with subjectAI ticket conversion task 20260519T134926Z. - Cleanup: trashed converted ticket
186and parent ticket185withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/convert-ticket-task-to-ticket.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:43 Europe/Lisbon - Ticket Task Completion Workflow Verified
Verified end to end. I created one disposable ticket, added a task, completed it through check_task, verified the completed state after reload, deleted the task, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-task-completion-20260519T134310Z.json. - Ticket:
184; task:172; task designation:AI ticket completion task 20260519T134310Z. - Completion request:
tickets/check_taskwith serialized form containingticket_id=184,task_id=172,duration=15,time_type=m, emptytask_type, and completion date/time19/05/2026 14:40. - Response:
{"success":{"success":true,"id":"172"}}plus task data withchecked=1,checked_by_name=Demo,task_duration=15, anddate_done=2026-05-19 14:40:00. - Verification: detail reload showed row
row_172with classtable-success, active status value1, ownerDemo, and duration15m. - Cleanup: deleted task
172, then trashed ticket184withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/complete-ticket-task.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:36 Europe/Lisbon - Ticket Task Add/Delete Workflow Verified
Verified end to end. I created one disposable ticket, added a task from Operations / Add Tasks, verified the task on the detail timeline, deleted it, verified it disappeared, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-tasks-20260519T133625Z.json. - Ticket:
182; task:170; task designation:AI ticket task 20260519T133625Z. - Create request:
tickets/create_timeline_resolutionswith serialized form containingticket_id=182, duration00:15, scheduled date/time, assigned user1, task designation, and rich-textmodal_tasks_body; response returned{"success":true}. - Verification: detail reload showed task id
170, designation, ownerDemo, duration15m, and task status controls. - Delete request:
tickets/delete_resolution_taskwithid=170; response returned{"success":true,"affected_rows":1}; final detail reload no longer contained the task marker. - Cleanup: trashed ticket
182withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/manage-ticket-tasks.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:33 Europe/Lisbon - Ticket Reply with Attachment Workflow Verified
Verified end to end. I created one disposable ticket, posted a reply with outbound email disabled and one text attachment, verified both reply text and attachment filename on reload, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-reply-attachment-20260519T133213Z.json. - Ticket:
181; attachment id:192; file:ai-ticket-attachment-20260519T133213Z.txt. - Reply request: multipart
tickets/replyTicketwithdepartment=2,ticketID=181, HTMLreply_content,send_email=0,macro_ticket=0, and file fieldanexos[]. - Response:
{"succeeded":true,"message":{"data":"true"}}. - Verification: detail reload contained reply marker
AI ticket reply with attachment 20260519T133213Zand filenameai-ticket-attachment-20260519T133213Z.txt; attachment link carrieddata-id=192. - Cleanup: trashed ticket
181withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/reply-ticket-with-attachment.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:28 Europe/Lisbon - Ticket Detail Field Updates Workflow Verified
Verified end to end. I created one disposable ticket, updated priority, topic, status, and owner through the ticket detail endpoint, verified the updated values after reload, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-detail-updates-20260519T132757Z.json. - Ticket:
180/SUP-2605-84872; subject:AI Demo Ticket Detail Updates 20260519T132757Z. - Priority update:
tickets/UPDATE_ticketwithdata[prio_id]=3returnedAlta. - Topic update:
data[topic_id]=2returnedManutenção Corretiva. - Status update:
data[status_id]=4returnedEspera. - Owner update:
data[assign_id]=2returnedDavidetete Batanete Roberto. - Reload verification: detail page preserved
view_alter_priority_id=3,view_alter_topic_id=2,view_alter_status_id=4, andview_alter_assign_id=2. - Cleanup: trashed ticket
180withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/update-ticket-detail-fields.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:23 Europe/Lisbon - Ticket Notes Add/Edit/Delete Workflow Verified
Verified end to end. I created one disposable ticket, added a ticket note, loaded it into the edit modal, edited its rich text body, deleted it, verified it disappeared, and trashed the ticket.
- Evidence:
raw/playwright/workflows/ticket-notes-20260519T132254Z.json. - Ticket:
179; note:50; subject:AI Demo Ticket Notes 20260519T132254Z. - Add request:
tickets/noteTicketwithdepartment=2,ticketID=179, and HTMLnote_content; response returned{"succeeded":true,"message":{"data":50}}. - Load request:
tickets/load_tik_notewithid=50returned the note body, posterDemo, and timestamps. - Edit request:
tickets/update_tik_notewith serialized formid=50and edited HTML body returned{"success":true,"affected_rows":1}. - Delete request:
tickets/delete_tik_notewithid=50returned{"success":true,"affected_rows":1}; final detail reload no longer contained the edited note marker. - Cleanup: trashed ticket
179withUPDATE_ticketanddata[is_trash]=1. - Manual updated:
workflows/manage-ticket-notes.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:18 Europe/Lisbon - Ticket Create and Trash Workflow Verified
Verified end to end. I created one disposable ticket with outbound email and autoresponse disabled, opened the detail page, marked it as trash, and confirmed the trash flag after reload.
- Evidence:
raw/playwright/workflows/ticket-create-trash-20260519T131756Z.json. - Ticket:
178/SUP-2605-25302; subject:AI Demo Ticket 20260519T131756Z. - Create request:
tickets/postNewTicketwith customer910, department2, topic1, status1, priority2, owner1,send_mail=0, andsend_autoresponse=0; response returned{"success":true,"ticket_id":178}. - Detail verification: opened
/tickets/tickets/view/MTc4and confirmed the subject, body, customer, department, status, priority, and owner. - Cleanup:
tickets/UPDATE_ticketwithdata[is_trash]=1returned{"success":true,"id":"178"}; reload showededit_is_trashchecked. - Manual updated:
workflows/create-trash-ticket.html,workflows/use-tickets.html,modules/tickets.html, andapi/network-catalog.html.
2026-05-19 14:07 Europe/Lisbon - CRM Task Type Create/Edit/Delete Workflow Verified
Verified end to end. I created one disposable CRM task type, edited it to inactive with a different icon and color, verified the inactive filter, deleted it, and confirmed the list no longer returned it.
- Evidence:
raw/playwright/workflows/crm-task-type-create-edit-delete-20260519T130724Z.json. - Task type:
AI0724; final description:AI Demo CRM Task Type Edited 20260519T130724Z; final active flag before cleanup:0. - Create request:
crm_tipotarefas/savewith serialized formedit=0,icon=fa fa-tasks,color=blue, andactive=1. - Edit request:
crm_tipotarefas/savewithedit=1,icon=fa fa-phone,color=red, andactive=0. - Verification:
crm_tipotarefas/dtreturned the edited row in the all-status list and the inactive filter withactive=0. - Cleanup:
crm_tipotarefas/deletewithid=AI0724returned{"success":true}; final list lookup returned no row. - Manual updated:
workflows/create-edit-delete-crm-task-type.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 14:02 Europe/Lisbon - CRM Pipeline Step Create/Edit/Delete Workflow Verified
Verified end to end. I created one disposable Pipeline Sale support-file step, loaded its edit modal, edited it, verified list state, deleted it, and confirmed the list no longer returned it.
- Evidence:
raw/playwright/workflows/crm-pipeline-create-edit-delete-20260519T130232Z.json. - Pipeline step: id
9; final description:AI Demo CRM Pipeline Edited 20260519T130232Z; final order before cleanup:99. - Create request: plain
POST /crm/apoio/pipelinewithDesignacaoandOrdem=98. - Edit modal:
editaPipereturned hiddenid,editDesignacao, andOrdemfields. - Edit request: plain
POST /crm/apoio/pipelinewithid=9,editDesignacao, andOrdem=99. - Cleanup: generic
deletewithtabela=PosPipelineandsearch[Id]=9returned bare JSONtrue; final list lookup returned no row. - Manual updated:
workflows/create-edit-delete-crm-pipeline.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:56 Europe/Lisbon - CRM Campaign Create/Edit/Delete Workflow Verified
Verified end to end. I created one disposable CRM campaign support-file row, edited its detail form, verified both detail and list state, deleted it, and confirmed the list no longer returned it.
- Evidence:
raw/playwright/workflows/crm-campaign-create-edit-delete-20260519T125631Z.json. - Campaign:
AI125631; final description:AI Demo CRM Campaign Edited 20260519T125631Z. - Create request: plain
POST /crm/apoio/campanhasafterSearchIfExistCodCampanahareturnedF. - Edit request:
POST /crm/apoio/campanhas/view/QUkxMjU2MzE=withactualizarcampanaha=1, edited dates, and hidden rich-text mirrorsdescricao_valandobjectivos_val. - Verification: detail reload showed edited values;
DT_Selectwithtable=campanhasreturned active flagT, edited objectives, and dates20/05/2026to31/05/2026. - Cleanup:
deleteAttachmentCascadewithtabela=campanhasreturned{"succeeded":true}; final list lookup returned no row. - Manual updated:
workflows/create-edit-delete-crm-campaign.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:25 Europe/Lisbon - CRM Lead Imported Value Edit and Bulk Row Delete Verified
Verified end to end. I created a disposable two-row CRM lead list, edited one imported value row inline, removed the second imported row with the selected-row bulk action, verified the remaining row and list count, and deleted the lead list.
- Evidence:
raw/playwright/workflows/crm-lead-values-edit-delete-20260520T012503Z.json. - Lead list:
22; edited row1; removed row2. - Edit request:
leads/updateLeadColumnValuewithfield=nomechanged the imported row name toAI Lead Row Edited 20260520T012503Z; response returned bare JSONtrue. - Bulk remove request:
leads/innerLeadsDeletewithids=2andlead=22; response returned bare JSONtrue. - Verification:
DT_Select_Leadsreturned only the edited row, andDT_SelectLeadsreturnedrecords=1. - Manual updated:
workflows/edit-crm-lead-values.html,workflows/edit-crm-lead.html,modules/crm.html, andapi/network-catalog.html.
2026-05-20 02:20 Europe/Lisbon - Invoicing Hub Front Door Expanded
Documentation implemented. I expanded the invoicing hub with a fast-start routing table, anchored core sections, operator path sequences, and an explicit gift-certificate note. Later FT gift-card application work now covers the temporary invoice apply boundary; final issued-invoice consumption remains outside the safe test boundary.
- Updated page:
workflows/invoicing-hub.html. - Added user-intent routing for FT, FR, FS, R, NC, ND, ORC, FP, ENC, and guide documents.
- Added operator paths for quote-to-invoice, order-to-paid-invoice, invoice-then-collect, paid counter sale, corrections, and cancellation.
- Linked the verified CRM gift certificate create/delete and mark-sold workflows; the later FT gift-card guide links the verified temporary invoice application path.
2026-05-20 02:13 Europe/Lisbon - CRM Gift Certificate Mark-Sold Workflow Verified
Verified end to end. I created one disposable active CRM gift certificate, marked it sold through the bulk selected action, verified list and detail state, deleted it, and confirmed the list no longer returned it.
- Evidence:
raw/playwright/workflows/crm-gift-certificate-mark-sold-20260520T011345Z.json. - Certificate: id
124, numberMS011345000001, value1, state changed fromACTtoSOLD. - Mark-sold request:
crm/valesoferta_mark_as_soldwithids[]=124; response returned{"succeeded":true}. - Verification:
DT_Selectwithtable=vales_ofertareturnedestado=SOLD, purchase markerManual -1, and amount credited0; detail route/crm/valesoferta/edit/MTI0showed Sold status. - Cleanup: generic
deletewithtabela=vales_ofertaandsearch[id]=124returned bare JSONtrue; final list lookup returned no row. - Manual updated:
workflows/mark-gift-certificate-sold.html,workflows/create-delete-gift-certificate.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:47 Europe/Lisbon - CRM Gift Certificate Create/Delete Workflow Verified
Verified end to end. I created one disposable CRM gift certificate, opened its detail page, verified active list state, deleted it, and confirmed the list no longer returned it.
- Evidence:
raw/playwright/workflows/crm-gift-certificate-create-delete-20260519T124723Z.json. - Certificate: id
123, numberAI124723000001, value1, statusACT. - Create request:
createValesDescontowith formprefixo=AI124723,valor=1,total=1, and empty validity date; response returned{"success":true}. - Verification:
DT_Selectwithtable=vales_ofertareturned the active certificate row; detail route/crm/valesoferta/edit/MTIzshowed active status. - Cleanup: generic
deletewithtabela=vales_ofertaandsearch[id]=123returned bare JSONtrue; final list lookup returned no row. - Manual updated:
workflows/create-delete-gift-certificate.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:42 Europe/Lisbon - CRM Lead CSV Create/Delete Workflow Verified
Verified end to end. I created a disposable CRM lead list from a one-row CSV, opened its detail page, verified the list row and imported record count, and deleted the lead list after the probe.
- Evidence:
raw/playwright/workflows/crm-lead-create-delete-20260519T124223Z.json. - Lead list:
14; description:AI Demo CRM Lead 20260519T124223Z; imported records:1. - CSV format:
nome;email;localidade;morada;pais;telemovel;ncontrib. - Create request: multipart
leads/postNewLeadwithdescriptionand file fieldfile_import; response returned{"success":true,"result":14}. - Verification: opened
/crm/leads/view/MTQ=and confirmed the imported contact row;DT_SelectLeadsreturnedrecords=1. - Cleanup: deleted lead list
14withleads/DELETE_lead; final list lookup returned no row. - Manual updated:
workflows/create-delete-crm-lead.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:37 Europe/Lisbon - CRM Business Opportunity Phase Workflow Verified
Verified end to end. I created a disposable CRM business opportunity, changed it from SG to non-closing phase CI, verified the detail page and opportunity grid, and deleted the opportunity after the probe.
- Evidence:
raw/playwright/workflows/crm-opportunity-phase-20260519T123715Z.json. - Opportunity:
2605-0001; initial phase:SG; updated phase:CI. - Phase form: modal
#editafasewithfaseactual,datafimfase, andobs. - Save request:
oportneg/update_fasewith serialized formfaseactual=CI,datafimfase=20/05/2026, and a commercial comment; response returned{"success":true}. - Verification: detail page showed
Pesquisa/Qualificar/Priorizar;DT_ListaOportNegreturnedFase=[CI] Pesquisa/Qualificar/Priorizar. - Cleanup: deleted opportunity
2605-0001withdeleteAttachmentCascade; final list lookup returned no row. - Manual updated:
workflows/change-crm-opportunity-phase.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:33 Europe/Lisbon - CRM Business Opportunity Observations Workflow Verified
Verified end to end. I created a disposable CRM business opportunity, saved its separate rich-text observations editor, reloaded the opportunity detail page to verify persistence, and deleted the opportunity after the probe.
- Evidence:
raw/playwright/workflows/crm-opportunity-observations-20260519T123355Z.json. - Opportunity:
2605-0001; editor:#Obs; save button:#saveObs. - Save request:
UpdateOporNegwithid=2605-0001,campo=Obs, and an HTMLvaluecontaining paragraph, bold text, and list markup. - Verification: reloaded
/crm/oportunidadesnegocios/view/MjYwNS0wMDAxand confirmed the edited HTML persisted in#Obs. - Cleanup: deleted opportunity
2605-0001withdeleteAttachmentCascade; final list lookup returned no row. - Manual updated:
workflows/manage-crm-opportunity-observations.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:30 Europe/Lisbon - CRM Business Opportunity Edit Workflow Verified
Verified end to end. I created a disposable CRM business opportunity, edited its main detail form, verified the edited row values, and deleted the opportunity after the probe.
- Evidence:
raw/playwright/workflows/crm-opportunity-edit-20260519T123004Z.json. - Opportunity:
2605-0001; edited description:AI Demo CRM Opportunity Edited 20260519T123004Z. - Edit form:
opvalidateviewon/crm/oportunidadesnegocios/view/MjYwNS0wMDAx. - Save request:
POST /crm/oportunidadesnegocios/view/MjYwNS0wMDAxwithactualizarOP=2, editedDesignacao,DataFechoPrev=20/06/2026,ValorEstimado=345.67,ProbabilVenda=45, and edited source note. - Verification:
DT_ListaOportNegreturned the edited row with estimated value345.67, probability45, and close date2026-06-20. - Cleanup: deleted opportunity
2605-0001withdeleteAttachmentCascade; final list lookup returned no row. - Manual updated:
workflows/edit-crm-opportunity.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:23 Europe/Lisbon - CRM Business Opportunity Create/Delete Workflow Verified
Verified end to end. I created a disposable CRM business opportunity, opened its detail route, verified it through the opportunity DataTable, deleted it, and confirmed the list no longer returned the row.
- Evidence:
raw/playwright/workflows/crm-opportunity-create-delete-20260519T122337Z.json. - Opportunity:
2605-0001; description:AI Demo CRM Opportunity 20260519T122337Z; associated customer:910. - Create request:
gravaOporNegwithTipoTerc=C,CodTerc=910,CodFaseCV=SG,DataFechoPrev=19/06/2026,CodEmpr=1,CodVend=1,AreaNegocio=3,ValorEstimado=1234.56,ProbabilVenda=25, andCodOrigemOport=O; response returnedsuccess=trueanddata.CodOportNeg=2605-0001. - Detail verification: opened
/crm/oportunidadesnegocios/view/MjYwNS0wMDAxand confirmed the created description appeared. - List verification:
DT_ListaOportNegwith open-opportunity filters and a description-column search returned row2605-0001. - Delete request:
deleteAttachmentCascadewithtabela=oportnegandsearch[CodOportNeg]=2605-0001; response returned{"succeeded":true}; final list lookup returned no row. - Manual updated:
workflows/create-delete-crm-opportunity.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:16 Europe/Lisbon - CRM Appointment Repeat Workflow Verified
Verified end to end. I created a disposable CRM appointment, opened the Repeat Tag form, saved a daily recurrence ending at two repetitions, verified the generated appointment rows, and deleted every matching row after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-repeat-20260519T121620Z.json. - Source appointment:
434; generated/matching rows:434,435, and436. - Repeat form:
form_repetirwith period choices Diary, Weekly, Monthly; end modes Until the date and End at repetitions; daily, weekly, and monthly condition controls. - Preflight request:
DeleteRelcontactoRecorrenciaFuturawithnumrel=434; response{"succeeded":true,"message":null}. - Save request:
POST /crm/marcacoes/view/NDM0withrepetirMarca=1,SelectPeriodo=1,endRepeat=F,Ocurrencias=2,Days=T, andtodosD=1. - Verification:
DT_SelectMarcacoesfound rows434,435, and436for the unique subject, including future row436at2026-05-21 09:00:00. - Cleanup: deleted rows
436,435, and434withdelete_marcacao; final subject lookup returned no row. - Manual updated:
workflows/repeat-crm-appointment.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:10 Europe/Lisbon - CRM Appointment Attachments Workflow Verified
Verified end to end. I created a disposable CRM appointment, uploaded a text attachment, edited the attachment description, deleted the attachment, verified the attachments table no longer returned the row, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-attachment-20260519T121040Z.json. - Appointment:
434; attachment:192; uploaded filename:ai-appointment-attachment-20260519T121040Z.txt. - Upload request: multipart
AceUploadwithlocation=attachments,codmarcacao=434,assunto=AI appointment attachment 20260519T121040Z,public=1, andfiles[]; response returned{"ok":true,"num":192}. - Verification:
DT_Select_Attachmentswithsearch[CodMarcacao]=434returned the uploaded row. - Edit request:
loadAttachloaded row192, theneditAttachmentsaved the edited description and returned{"success":true}. - Delete request:
deleteAttachmentByIdwithtabela=Attachandsearch[Num]=192; response was bare JSONtrue; final attachment lookup returned no row. - Cleanup: deleted appointment
434withdelete_marcacao. - Manual updated:
workflows/manage-crm-appointment-attachments.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 13:04 Europe/Lisbon - CRM Appointment Interventions Workflow Verified
Verified end to end. I created a disposable CRM appointment, added an intervention row, edited its extra designation and time, verified the intervention table totals, deleted the row, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-intervention-20260519T120357Z.json. - Appointment:
434; intervention:28,Diagnóstico. - Add request:
add_relcontacto_tiposintervencaowithrelcontacto_id=434andtiposintervencao_id=28; response{"success":true,"message":null}. - Update requests:
update_relcont_intervencaofordesignacao_extraandminutes=45; both returned{"success":true}. - Verification:
oficinas/list_relcontacto_tiposintervencaoreturnedminutes=45,minutes_f=00h 45m,minutosTotal=45, andhorasTotal=00h 45m. - Delete request:
del_relcontacto_tiposintervencaowithtiposintervencao_id=28; response{"success":true,"affected_rows":1}; final intervention lookup returned no row. - Cleanup: deleted appointment
434withdelete_marcacao. - Manual updated:
workflows/manage-crm-appointment-interventions.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:59 Europe/Lisbon - CRM Appointment Contact Link Workflow Verified
Verified end to end. I created a disposable CRM appointment, linked it to customer 100 Ouvidos Lda, added contact 23 under that relation, verified the contact row, removed the contact, removed the entity relation, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-contact-20260519T115909Z.json. - Appointment:
434; entity relation:258; contact:23. - Contact selector:
Sel2_Select_Contactosfor customer910returned contact23. - Link request:
create_relcont_entity_contactwithterc_type=C,rel_id=258,contacts_id=23, and all notification/send flags0; response returnedsuccess=1,count=1, andcount_success=1. - Verification:
DT_load_relcont_entitiesreturned child contact rowentity_type=T,terc_id=23,rel_id=258,notify_sms=0, andnotify_email=0. - Cleanup: removed the contact with
delete_relcont_entity_cont, removed the parent relation withdelete_relcont_entity, and deleted appointment434withdelete_marcacao. - Manual updated:
workflows/link-crm-appointment-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:54 Europe/Lisbon - CRM Appointment Entity Link Workflow Verified
Verified end to end. I created a disposable CRM appointment, linked it to customer 100 Ouvidos Lda, verified the relation row, unlinked it, verified the relation table was empty, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-entity-20260519T115412Z.json. - Appointment:
434; customer:C-910; relation:256. - Link request:
create_relcont_entitywithterc_type=C,terc_id=910, emptycontacts_ids, all notification/send flags0, andnumrel=434; response{"success":true,"id":256}. - Verification:
DT_load_relcont_entitiesreturnedrel_id=256,name=100 Ouvidos Lda,entity_type=C,notify_sms=0, andnotify_email=0. - Unlink request:
delete_relcont_entitywithrel_id=256; response{"success":true}; final relation lookup returned no row. - Cleanup: deleted appointment
434withdelete_marcacao. - Manual updated:
workflows/link-crm-appointment-entity.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:49 Europe/Lisbon - CRM Appointment Notes Workflow Verified
Verified end to end. I created a disposable CRM appointment, added a note from the appointment notes surface, edited the note, deleted it, verified the notes table after each step, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-notes-20260519T114941Z.json. - Appointment:
434, note:2. - Add request:
agregarNotaMarcacaowithCodMarcacao=434, subjectAI appointment note 20260519T114941Z, HTML description,CodEmpr=1, andnotificar_venda=0; response{"success":true}. - Edit request:
UpdateNotaMarcacaowithId=2, edited subject/body, andnotificar_venda=0; response{"success":true}. - Delete request:
delete_nota_clientewithtype=MARandid_nota=2; response{"success":true}. - Verification:
DT_Select_MaracacoesNotasreturned note2after add and edit, then no row after note delete. - Cleanup: deleted appointment
434withdelete_marcacao. - Manual updated:
workflows/manage-crm-appointment-notes.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:43 Europe/Lisbon - CRM Appointment Complete/Reopen Workflow Verified
Verified end to end. I created a disposable CRM appointment, marked it accomplished through the detail page confirmation flow, verified the completed list state, reopened it, verified the approved/open state, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-complete-reopen-20260519T114343Z.json. - Appointment:
434, route/crm/marcacoes/view/NDM0. - Complete requests:
GET /ajaxserver?action=UpdateRelcontacto&campo=Realizado&id=434&value=TandGET /ajaxserver?action=UpdateRelcontacto&campo=EstadoMarca_c&id=434&value=4. - Completed verification:
DT_SelectMarcacoesreturned row434withRealizado=T,estado=4, anddesigestado=Concluido. - Reopen requests:
GET /ajaxserver?action=UpdateRelcontacto&campo=EstadoMarca_c&id=434&value=2andGET /ajaxserver?action=UpdateRelcontacto&campo=Realizado&id=434&value=F. - Reopened verification:
DT_SelectMarcacoesreturned row434withRealizado=F,estado=2, anddesigestado=Aprovado pelo Colaborador. - Cleanup: deleted appointment
434withdelete_marcacao; final lookup returned no matching row. - Manual updated:
workflows/complete-reopen-crm-appointment.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:36 Europe/Lisbon - CRM Appointment Edit Workflow Verified
Verified end to end. I created a disposable CRM appointment, edited the appointment detail page's main data/local form through the real browser save flow, verified the edited row and detail form, and deleted the appointment after the probe.
- Evidence:
raw/playwright/workflows/crm-appointment-edit-20260519T113608Z.json. - Appointment:
434, route/crm/marcacoes/view/NDM0. - Edit request:
POST /crm/marcacoes/view/NDM0withupdate=datalocal, edited subject,CodTipoEv=Appt,Prioridade=N,DataContacto=19/05/2026,HoraInicio=18:55,DataFim=19/05/2026,HoraFim=19:35, edited local, and edited observations. - Verification:
DT_SelectMarcacoesreturned row434withassunto=AI Demo CRM Appointment Edited 20260519T113608Z,datahinicio=2026-05-19 18:55:00,datahfim=2026-05-19 19:35:00, and edited observations. - Cleanup: deleted appointment
434withdelete_marcacao; final lookup returned no original or edited subject. - Side-effect boundary: no notification, send, document, stock, communication, or external-send action was submitted.
- Manual updated:
workflows/edit-crm-appointment.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:28 Europe/Lisbon - CRM Appointment Create/Delete Workflow Verified
Verified end to end. I created a disposable CRM appointment from the Tags/Appointments area, verified the returned detail page and appointment list row, then deleted it with the appointment delete endpoint.
- Evidence:
raw/playwright/workflows/crm-appointment-create-delete-20260519T112807Z.json. - Page source evidence:
raw/playwright/workflows/crm-marcacoes-page-source-20260519T1125.txt. - Appointment:
434, route/crm/marcacoes/view/NDM0. - Create request:
POST /ajaxserverwithaction=gravaEvento,Assunto=AI Demo CRM Appointment 20260519T112807Z,CodTipoEv=Appt,Prioridade=N,CodEmpr=1,DataContacto=19/05/2026,HoraInicio=18:10,DataFim=19/05/2026,HoraFim=18:40,ColabResp_c=1, andCodVend=1. - Create response: HTTP
200, returnedid=434,Realizado=F,ETarefa=F,EstadoMarca_c=2, and normalized dates. - Verification:
DT_SelectMarcacoesreturned row434with subject,codtipoev=Appt,colab_nome=Demo,resp_nome=Demo,comercial_nome=Comercial 1, and no associated entity. - Delete request:
POST /ajaxserverwithaction=delete_marcacaoandid=434; response was{"success":true}. - Side-effect boundary: no
notify_send_email,notify_send_sms, send, document, stock, communication, or external-send action was submitted. - Manual updated:
workflows/create-delete-crm-appointment.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:21 Europe/Lisbon - CRM Communication Remove Duplicate Contacts Workflow Verified
Verified end to end. I added the same customer email recipient twice to a disposable CRM communication, confirmed duplicate rows were created, filtered duplicates, verified one row remained, and deleted the disposable communication after the probe.
- Evidence:
raw/playwright/workflows/crm-communication-remove-duplicate-contacts-20260519T112153Z.json. - Communication:
39, created bycrm-communication-create-20260519T112028Z. - Duplicated contact:
1240, customer628, addresscomercial@guisoft.net. - Duplicate rows before filtering:
1176and1175. - Filter request:
POST /ajaxserverwithaction=communications,option=filterduplicates, andnum=39. - Filter response: HTTP
200with{"success":true}. - Verification: after filtering,
DT_Select_LCommunicationsreturned only row1175;DT_Select_Communicationsreturnedtotalcontactos=1,resumocontactos=comercial@guisoft.net, andtotal_unsent=1. - Cleanup: deleted communication
39; final id search returnedrecordsFiltered=0. - No send, send-test, schedule, communication duplicate, document, stock, or external-send action was submitted.
- Manual updated:
workflows/remove-duplicate-crm-communication-contacts.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:17 Europe/Lisbon - CRM Communication Delete All Contacts Workflow Verified
Verified end to end. I added one customer email recipient to a disposable CRM communication, cleared all recipient lines with the list-level delete-all action, verified the list and counters returned to zero, and deleted the disposable communication after the probe.
- Evidence:
raw/playwright/workflows/crm-communication-delete-all-contacts-20260519T111724Z.json. - Communication:
39, created bycrm-communication-create-20260519T111559Z. - Setup contact:
1240, customer628, addresscomercial@guisoft.net. - Deleted recipient line:
1174. - Delete-all request:
POST /ajaxserverwithaction=communications,option=deletelines, andnum=39. - Delete-all response: HTTP
200with{"success":true}. - Verification:
DT_Select_LCommunicationsreturned no rows,DT_Select_Communicationsreturnedtotalcontactos=0andtotal_unsent=0, andgetCountersCommunicationreturnedmail_total_unsent=0. - Cleanup: deleted communication
39; final id search returnedrecordsFiltered=0. - No send, send-test, schedule, duplicate, document, stock, or external-send action was submitted.
- Manual updated:
workflows/delete-all-crm-communication-contacts.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:10 Europe/Lisbon - CRM Communication Edit Contact Workflow Verified
Verified end to end. I added one customer email recipient to a disposable CRM communication, edited that recipient line, verified the saved row and counters, and deleted the disposable communication after the probe.
- Evidence:
raw/playwright/workflows/crm-communication-edit-contact-20260519T111049Z.json. - Communication:
39, route/crm/communications/view/Mzk=. - Selected contact:
1240, initial addresscomercial@guisoft.net. - Edited recipient line:
1173. - Edit request:
POST /ajaxserverwithaction=communications,option=UPDATE_lcommunication,id=1173,id_communication=39,type=email,values[address]=ticketsdemo@guisoft.com, andvalues[content]=<p>AI verified per-recipient email body 20260519T111049Z</p>. - Verification:
DT_Select_LCommunicationsreturned addressticketsdemo@guisoft.com;DT_Select_Communicationsreturnedtotalcontactos=1,resumocontactos=ticketsdemo@guisoft.com,total_unsent=1, andstatus=RDY. - Cleanup: deleted communication
39withcommunications/DELETE_communication; final id lookup returnedrecordsFiltered=0. - Side-effect boundary: no send, send-test, schedule, duplicate, document, or stock action was executed.
- Manual updated:
workflows/edit-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:06 Europe/Lisbon - CRM Communication Delete Contact Workflow Verified
Verified end to end. Added a customer email recipient to a disposable CRM communication, deleted that recipient line, verified the list and counters returned to zero, and deleted the disposable communication.
- Workflow run:
crm-communication-delete-contact-20260519T110614Z. - Communication:
39, created bycrm-communication-create-20260519T110422Z. - Setup contact:
1240, customer628, addresscomercial@guisoft.net. - Deleted recipient line:
1172. - Delete action:
GET /ajaxserverwithaction=delete,tabela=lcommunication,search[id_communication]=39, andsearch[id]=1172. - Delete response: HTTP
200with bodytrue. - Verification:
DT_Select_LCommunicationsreturned no rows,DT_Select_Communicationsreturnedtotalcontactos=0andtotal_unsent=0, andgetCountersCommunicationreturnedmail_total_unsent=0. - Cleanup: deleted communication
39; final id search returnedrecordsFiltered=0. - No send, send-test, schedule, duplicate, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-delete-contact-20260519T110614Z.json. - Manual updated:
workflows/delete-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 12:00 Europe/Lisbon - CRM Communication Add Contact Workflow Verified
Verified end to end. Added one customer email contact to a disposable CRM communication draft, verified the list row and counters, and deleted the disposable communication after the probe.
- Workflow run:
crm-communication-add-contact-20260519T110037Z. - Communication:
39, created bycrm-communication-create-20260519T105659Z. - Add Contacts modal source:
Entities SearchwithTipoOrigemEnt=Dand customer typeselectTipoT=C. - Selected contact:
1240, customer628, addresscomercial@guisoft.net. - Search action:
GET /ajaxserverwithaction=communicationsandoption=getPesquisaEntidadesComm. - Validation action:
POST /ajaxserverwithoption=postAddLCommunicationsValidate, returningsuccess=true. - Add action:
POST /ajaxserverwithoption=postAddLCommunications,id=39,MeioUtiliz=M, anduser_sendJSON; response returnedok=1andnotok=0. - Verification:
DT_Select_LCommunicationsreturned list row1171;DT_Select_Communicationsreturnedtotalcontactos=1,resumocontactos=comercial@guisoft.net, andtotal_unsent=1. - Cleanup: deleted communication
39; final id search returnedrecordsFiltered=0. - No send, send-test, schedule, duplicate, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-add-contact-20260519T110037Z.json. - Manual updated:
workflows/add-crm-communication-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:53 Europe/Lisbon - CRM Communication Edit Workflow Verified
Verified end to end. Edited a disposable CRM communication draft, verified the saved subject through the communications DataTable endpoint, and deleted the disposable record after the probe.
- Workflow run:
crm-communication-edit-20260519T105353Z. - Edited communication:
39, created bycrm-communication-create-20260519T105105Z. - Description:
AI Demo CRM Communication 20260519T105105Z. - Save action:
POST /ajaxservermultipart form data withaction=communications,option=postEditComm, andid=39. - Saved content: email channel
1, subjectAI Demo edited communication subject 20260519T105353Z, and body<p>AI verified edited CRM communication body 20260519T105353Z</p>. - Verification:
DT_Select_Communicationsid search returned the edited subject,status=RDY,email=1,sms=0, andtotalcontactos=0. - Cleanup: deleted communication
39; the final description search returnedrecordsFiltered=0. - No send, send-test, schedule, add-contact, duplicate, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-edit-20260519T105353Z.json. - Manual updated:
workflows/edit-crm-communication.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:46 Europe/Lisbon - CRM Communication Duplicate Workflow Verified
Verified end to end. Duplicated a disposable CRM communication draft, verified the copied record through the communications DataTable endpoint, and cleaned up both disposable records.
- Workflow run:
crm-communication-duplicate-20260519T104653Z. - Source communication:
39, created bycrm-communication-create-20260519T104312Z. - Duplicate communication:
40. - Duplicate description:
AI Demo CRM Dup 20260519T104653Z. - Duplicate modal:
Are you sure you want to duplicate?with description, all rows, sent rows, unsent lines, Cancel, and Duplicate controls. - Duplicate action:
GET /ajaxserverwithaction=communications,option=DUPLICATE_communication,id=39,description=AI Demo CRM Dup 20260519T104653Z, andenviado=T. - Final route after duplicate:
/crm/communications/view/NDA=, encoded id for communication40. - Verification:
DT_Select_Communicationsid search returnedstatus=RDY,email=1,sms=0, andtotalcontactos=0. - Cleanup: deleted duplicate
40and disposable source39; both searches returnedrecordsFiltered=0. - No send, send-test, schedule, add-contact, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-duplicate-20260519T104653Z.json. - Manual updated:
workflows/duplicate-crm-communication.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:39 Europe/Lisbon - CRM Communication Delete Workflow Verified
Verified end to end. Opened a disposable CRM communication draft, confirmed deletion, and verified the draft was removed through the communications DataTable endpoint.
- Workflow run:
crm-communication-delete-20260519T103942Z. - Deleted communication:
39. - Description:
AI Demo CRM Communication 20260519T103424Z. - Confirmation dialog:
Are you sure you want to delete?withCancelandOK. - Delete action:
GET /ajaxserverwithaction=communications,option=DELETE_communication, andid=39. - Final route after delete:
/crm/painelresumo/. - Verification:
DT_Select_Communicationssubject search returnedrecordsFiltered=0and no rows. - No send, send-test, duplicate, schedule, add-contact, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-delete-20260519T103942Z.json. - Manual updated:
workflows/delete-crm-communication.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:34 Europe/Lisbon - CRM Communication Draft Creation Verified
Verified end to end. Created an email-channel CRM communication draft, opened its detail page, and verified the draft through the communications DataTable endpoint.
- Workflow run:
crm-communication-create-20260519T103424Z. - Created communication:
39. - Description:
AI Demo CRM Communication 20260519T103424Z. - Save action:
POST /ajaxservermultipart form data withaction=communicationsandoption=postNewComm. - Saved content: email channel enabled, SMS disabled, subject
AI Demo communication subject 20260519T103424Z, and body<p>AI verified CRM communication draft 20260519T103424Z</p>. - Final route:
/crm/communications/view/Mzk=. - Verification:
DT_Select_Communicationsreturned one row withstatus=RDY,email=1,sms=0, andtotalcontactos=0. - No send, send-test, contact-add, duplicate, delete, schedule, SMS send, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-communication-create-20260519T103424Z.json. - Manual updated:
workflows/create-crm-communication.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:27 Europe/Lisbon - CRM Task Bulk Delete Workflow Verified
Verified end to end. Created a disposable CRM task, selected it in the Tasks list, used With selected then the delete action, confirmed the action, and verified the row was removed through the task DataTable endpoint.
- Workflow run:
crm-task-bulk-delete-20260519T102751Z. - Created and deleted task:
434. - Subject:
AI Demo CRM Bulk Delete 20260519T102751Z. - Confirmation dialog:
Are you sure you want to delete?withCancelandOK. - Bulk delete action:
GET /ajaxserverwithaction=deleteTarefasMultipleandtarefas[0]=434. - Response:
{"sim":1,"nao":0,"list_nao":""}. - Verification:
dt_tarefassubject search returnedrecordsFiltered=0and no rows. - No complete, SMS, email, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-bulk-delete-20260519T102751Z.json. - Manual updated:
workflows/bulk-delete-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:21 Europe/Lisbon - CRM Task Bulk Accomplished Workflow Verified
Verified end to end. Created a disposable CRM task, selected it in the Tasks list, used With selected then Accomplished, confirmed the action, and verified the completed flag through the task DataTable endpoint.
- Workflow run:
crm-task-bulk-complete-20260519T102105Z. - Created task:
433. - Subject:
AI Demo CRM Bulk Complete 20260519T102105Z. - Confirmation dialog:
Are you sure?withCancelandOK. - Bulk action:
POST /ajaxserverwithaction=updateRelcontactoMultiple,ids=433,valor=T, andcampo=Realizado. - Response:
{"sim":1,"nao":0,"list_nao":""}. - Verification:
dt_tarefasreturned one matching row withRealizado=Tandperc_execution=0; the bulk Accomplished action did not update percent execution in this run. - No delete, SMS, email, document, stock, or external-send action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-bulk-complete-20260519T102105Z.json. - Manual updated:
workflows/bulk-complete-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:14 Europe/Lisbon - CRM Task Contact Link Workflow Verified
Verified end to end. Opened an existing CRM task detail page, linked the task to an existing contact, saved it, and verified the relation through detail reload and the save payload.
- Workflow run:
crm-task-contact-20260519T101421Z. - Updated task:
431. - Existing entity relation preserved: customer
910,100 Ouvidos Lda. - Linked contact:
27,AI Demo Contact 20260519T030819Z. - Selector calls:
Sel2_Select_v2for active contacts andgetContactowithid=27. - Save action:
POST /crm/tarefas/view/NDMxpostedtipoterc=C,codterc=910, andcodcontacto=27with the existing task metadata. - Verification: detail reload showed
codcontacto=27,contacto_Nome=AI Demo Contact 20260519T030819Z, and the expected contact e-mail. - No delete, SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-contact-20260519T101421Z.json. - Manual updated:
workflows/link-crm-task-contact.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:09 Europe/Lisbon - CRM Task Entity Link Workflow Verified
Verified end to end. Opened an existing CRM task detail page, linked the task to a customer entity, saved it, and verified the relation through detail reload and the task DataTable endpoint.
- Workflow run:
crm-task-entity-20260519T100919Z. - Updated task:
431. - Linked entity: customer
910,100 Ouvidos Lda. - Selector calls:
Sel2_Selectwithtable=clientes,id=codterc, andterm=910;getEntidadewithtipo=Candid=910. - Save action:
POST /crm/tarefas/view/NDMxpostedtipoterc=C,codterc=910, and emptycodcontactowith the existing task metadata. - Verification: detail reload showed
terc_Tipo=C,terc_ID=910, andterc_Nome=100 Ouvidos Lda;dt_tarefasreturnedTipoTerc=CandCodTerc=910. - No contact, delete, SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-entity-20260519T100919Z.json. - Manual updated:
workflows/link-crm-task-entity.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 11:04 Europe/Lisbon - CRM Task Notes Workflow Verified
Verified end to end. Opened an existing CRM task detail page, edited both additional description fields, saved the task, and verified the notes through detail reload and the task DataTable endpoint.
- Workflow run:
crm-task-notes-20260519T100440Z. - Updated task:
431. - Subject:
AI Demo CRM Task 20260519T094141Z Reopened. - Save action:
POST /crm/tarefas/view/NDMxpostedrelatorio=<div>AI verified task note 20260519T100440Z</div>andrelatorio2=<div>AI verified follow-up note 20260519T100440Z</div>with the existing task metadata. - Verification: detail reload showed both note editors populated;
dt_tarefasreturned one matching row with the primaryRelatorioHTML. - No delete, SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-notes-20260519T100440Z.json. - Manual updated:
workflows/edit-crm-task-notes.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 10:58 Europe/Lisbon - CRM Task Delete Workflow Verified
Verified end to end. Created a disposable CRM task, opened its detail page, confirmed deletion, and verified the deleted subject no longer appeared in the task DataTable endpoint.
- Workflow run:
crm-task-delete-20260519T095857Z. - Created and deleted task:
432. - Subject:
AI Demo CRM Task Delete 20260519T095857Z. - Confirmation dialog:
Are you sure you want to delete?withCancelandOK. - Delete action:
POST /ajaxserverwithaction=deleteTarefasMultipleandtarefas[0]=432; HTTP status200, empty captured response body, and redirect to/crm/tarefas/. - Verification:
dt_tarefassubject search returnedrecordsFiltered=0and no matching rows. - No SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-delete-20260519T095857Z.json. - Manual updated:
workflows/delete-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 10:54 Europe/Lisbon - CRM Task Reopen/Edit Workflow Verified
Verified end to end. Opened an existing CRM task detail page, edited its subject, cleared the completed state, saved the task, and confirmed the reopened state through the task DataTable endpoint.
- Workflow run:
crm-task-reopen-20260519T095439Z. - Updated task:
431. - Final subject:
AI Demo CRM Task 20260519T094141Z Reopened. - Save action:
POST /crm/tarefas/view/NDMxpostedactualizartarefas=1,assunto,perc_execution=0,codtipoev=ToDo,prioridade=N,codempr=1,data=19/05/2026,hour=16,minute=45,hora=16:45, empty note fields, and empty entity/contact fields. - Verification:
dt_tarefasreturned one matching row withnumrel=431,Realizado=F,perc_execution=0, andPrioridade=N. - No delete, SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-reopen-20260519T095439Z.json. - Manual updated:
workflows/reopen-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 10:49 Europe/Lisbon - CRM Task Completion Workflow Verified
Verified end to end. Opened an existing CRM task detail page, set execution to 100%, saved the task, and confirmed the completed state through the task DataTable endpoint.
- Workflow run:
crm-task-complete-20260519T094911Z. - Updated task:
431. - Final subject:
AI Demo CRM Task 20260519T094141Z Completed. - Save action:
POST /crm/tarefas/view/NDMxpostedactualizartarefas=1,assunto,perc_execution=100,codtipoev=ToDo,prioridade=N,codempr=1,data=19/05/2026,hour=16,minute=45,hora=16:45, empty note fields, and empty entity/contact fields. - Verification:
dt_tarefasreturned one matching row withnumrel=431,Realizado=T,perc_execution=100, andPrioridade=N. - No delete, SMS, email, document, stock, external-send, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-complete-20260519T094911Z.json. - Manual updated:
workflows/complete-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 10:41 Europe/Lisbon - CRM Task Creation Workflow Verified
Verified end to end. Created a demo CRM task from the Tasks list and confirmed it through the task DataTable endpoint.
- Workflow run:
crm-task-20260519T094141Z. - Created task:
431. - Subject:
AI Demo CRM Task 20260519T094141Z. - Save action:
createNovaTarefapostedAssunto,data=19/05/2026,hour=16,minute=45,hora=16:45,Prioridade=N,CodTipoEv=ToDo,codempr=1, and emptytipoterc. - Verification:
dt_tarefasreturned one matching row withnumrel=431,Realizado=F,perc_execution=0, andPrioridade=N. - No email, SMS, delete, end/complete, or bulk action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-task-20260519T094141Z.json. - Manual updated:
workflows/create-crm-task.html,modules/crm.html, andapi/network-catalog.html.
2026-05-19 10:29 Europe/Lisbon - CRM Core Pages Read-Only Probe Verified
Verified read-only. Opened and inspected the main CRM pages, common tabs, list counters, widgets, screenshots, and AJAX calls without submitting CRM changes.
- Workflow run:
crm-readonly-probe-20260519T092953Z. - Routes inspected:
/crm/painelresumo,/crm/agenda,/crm/communications,/crm/marcacoes,/crm/tarefas,/crm/oportunidadesnegocios,/crm/leads,/crm/ocupacao,/crm/valesoferta,/crm/apoio/campanhas,/crm/apoio/pipeline, and/crm/apoio/tipotarefa. - Counts verified: communications
37, tags161, tasks38open from77total, opportunities40open from52total, leads9, gift certificates121, campaigns8active from9total, pipeline steps8, and task types10. - Captured
75CRM AJAX/API calls and20screenshots. - No Save, Delete, Send, End, Convert, Duplicate, or import action was submitted.
- Raw evidence:
raw/playwright/workflows/crm-readonly-probe-20260519T092953Z.json. - Manual updated:
modules/crm.html,workflows/use-crm.html, andapi/network-catalog.html.
2026-05-19 10:19 Europe/Lisbon - Settings and Configuration Read-Only Probe Verified
Verified read-only. Opened and inspected core configuration pages, tabs, lists, selectors, screenshots, and AJAX calls without saving or changing configuration.
- Workflow run:
settings-readonly-probe-20260519T091902Z. - Routes:
/configuracoes/dadosempresa,/configuracoes/parametros,/configuracoes/impressao,/configuracoes/templates,/configuracoes/webhooks,/configuracoes/extrafields, and/configuracoes/valida. - Enterprise Data covered company identity, contacts, fiscal data, GPS coordinates, attachments, and nearby-client map controls.
- Parameters covered broad global tabs for sales, purchases, stocks, CRM, authentication, email, APIs, GDPR, and module-specific options.
- Documents / Printing, E-Mail Templates, WebHooks, Extra Fields, and Validations were inspected through their visible lists and tabs.
- Save, New, Edit, Delete, Import, webhook delivery, and template modification actions were intentionally not clicked.
- Raw evidence:
raw/playwright/workflows/settings-readonly-probe-20260519T091902Z.json. - Manual updated:
modules/settings.html,workflows/use-settings.html, andapi/network-catalog.html.
2026-05-19 10:15 Europe/Lisbon - GDPR Anonymity Request Registration Verified
Verified request registration. Created a GDPR Anonymity request row in the demo from the GDPR list and confirmed it through the GDPR request list endpoint. This registered the request; it did not execute a separate anonymization/removal action.
- Workflow run:
create-gdpr-anonymity-request-20260519T091554Z. - Created request:
11. - Entity: customer
[1003] AI Demo Customer 20260519T025604Z. - Ordered by:
AI Demo GDPR Anonymity Requester 20260519T091554Z. - Request type:
3/ Anonymity. - Save action:
create_gdpr_reqreturned{"success":true}. - Verification:
DT_list_gdpr_reqreturned request11,req_type=3,status=0, andstatus_estado=I. - Raw evidence:
raw/playwright/workflows/create-gdpr-anonymity-request-20260519T091554Z.json. - Manual updated:
workflows/create-gdpr-request.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 10:13 Europe/Lisbon - GDPR Portability Request Workflow Verified
Verified. Created a GDPR Portability request in the demo from the GDPR list and confirmed the record through the GDPR request list endpoint.
- Workflow run:
create-gdpr-portability-request-20260519T091329Z. - Created request:
10. - Entity: customer
[1003] AI Demo Customer 20260519T025604Z. - Ordered by:
AI Demo GDPR Portability Requester 20260519T091329Z. - Request type:
2/ Portability. - Save action:
create_gdpr_reqreturned{"success":true}. - Verification:
DT_list_gdpr_reqreturned request10,req_type=2,status=0, andstatus_estado=I. - Raw evidence:
raw/playwright/workflows/create-gdpr-portability-request-20260519T091329Z.json. - Manual updated:
workflows/create-gdpr-request.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 10:08 Europe/Lisbon - Tickets List, Dashboard, and New Form Probed
Verified read-only. Opened the ticket list, ticket dashboard, and new-ticket form; captured filters, required fields, screenshots, and AJAX calls without saving a ticket.
- Workflow run:
tickets-readonly-probe-20260519T090828Z. - Routes:
/tickets/tickets,/tickets/dashboard, and/tickets/tickets/new. - Ticket list folders: Inbox
137, My tickets15, Unassigned112, and Trash. - Dashboard columns: Unassigned
112, In progress15, Completed0. - New-ticket required fields observed: Entity, Recipients, Subject, Department, Topic, Status, Priority, and Owner.
- Save was intentionally not clicked because the form has email-related controls.
- Raw evidence:
raw/playwright/workflows/tickets-readonly-probe-20260519T090828Z.json. - Manual updated:
modules/tickets.html,workflows/use-tickets.html, andapi/network-catalog.html.
2026-05-19 10:05 Europe/Lisbon - Complete Sidebar Menu Taxonomy Extracted
Verified from authenticated DOM extraction. Extracted the full Back Office left sidebar hierarchy from the demo dashboard.
- Workflow run:
menu-taxonomy-20260519T090523Z. - Top-level modules:
34. - Total menu items:
696. - Route items:
587; group items:109; max depth:3. - Raw evidence:
raw/playwright/menu-taxonomy-20260519T090523Z.jsonandraw/playwright/menu-taxonomy.tsv. - Generated page:
menu-taxonomy.html. - Automation script:
tools/extract-menu-taxonomy.cjs.
2026-05-19 10:02 Europe/Lisbon - Article Duplicate ID Validation Verified
Negative validation verified. Opened the Create New Article modal and entered an already existing Article ID without creating a new record.
- Workflow run:
article-duplicate-validation-20260519T090211Z. - Existing article tested:
AI-DEMO-20260519-021105. - Validation action:
SearchIfExistCodArtigo. - Validation response:
T:AI Demo Article 20260519T021105Z. - UI result: the visible Article ID input was cleared after the duplicate lookup.
- Follow-up verification: direct
DT_Select_ArtigosIVAarticle-column search returnedrecordsFiltered: 1, proving no duplicate was added. - Raw evidence:
raw/playwright/workflows/article-duplicate-validation-20260519T090211Z.json. - Manual updated:
workflows/create-article.html,modules/stocks.html, andapi/network-catalog.html.
2026-05-19 09:58 Europe/Lisbon - Stock Outgoing Recount Workflow Verified
Verified end to end. Created and saved an outgoing stock recount movement in the demo, then confirmed the target warehouse quantity decreased.
- Workflow run:
stock-exit-movement-20260519T085823Z. - Movement number:
244. - Article:
AI-DEMO-20260519-021105. - Movement type:
[SR] Saida p/ Recontagem. - Warehouse:
[2] Armazem de Monos. - Save action:
saveMovimArtigosusedCodSTipoMov=SR,LojaEntrou=2,LojaSaiu=2, andtipobase=S; response includedOKDOC. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse2from1to0. - Raw evidence:
raw/playwright/workflows/stock-exit-movement-20260519T085823Z.json. - Manual updated:
workflows/update-stock.html,modules/stocks.html, andapi/network-catalog.html.
2026-05-19 09:53 Europe/Lisbon - Stock Warehouse Transfer Workflow Verified
Verified end to end. Created and saved a warehouse-transfer stock movement in the demo, then confirmed both source and destination warehouse quantities changed.
- Workflow run:
stock-transfer-movement-20260519T085338Z. - Movement number:
243. - Article:
AI-DEMO-20260519-021105. - Movement type:
[10] Tranferencia entre armazens. - Source warehouse:
[1] Armazem de Entradas; destination warehouse:[2] Armazem de Monos. - Save action:
saveMovimArtigosusedCodSTipoMov=10,LojaSaiu=1,LojaEntrou=2, andtipobase=T; response includedOKDOC. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1from7to6and warehouse2from0to1. - Raw evidence:
raw/playwright/workflows/stock-transfer-movement-20260519T085338Z.json. - Manual updated:
workflows/update-stock.html,modules/stocks.html, andapi/network-catalog.html.
2026-05-19 09:46 Europe/Lisbon - Purchase Integrations Hub4Data and Saphety Safely Probed
Safe probe verified. Opened Hub4Data and Saphety purchase integration screens, captured list/filter calls, and avoided external import/transmit actions.
- Workflow run:
purchase-integrations-safe-probe-20260519T084624Z. - Hub4Data route:
/compras/hub4data, titleOG - Hub4Data. - Hub4Data controls: search modal fields
entity,documentnumber,datedue,tipoop,nserie, andcodloja; defaults includedtipoop=AFT, series9999, and warehouse1. - Hub4Data call:
hub4data&option=documentswithfrom_date=19/04/2026,to_date=19/05/2026, andintegrated=0returned HTTP500and messageOcorreu um erro interno no servidor.. - Saphety route:
/compras/integrationsaphety, titleOG - Integration Saphety. - Saphety call:
saphetyinbound&option=dtwithdataini=01/04/2026,datafim=19/05/2026, andlistar=1returned HTTP200and an empty DataTables payload. - Import actions not clicked:
btn_integrate_document,importar, and reject/save actions were captured but intentionally not executed. - Raw evidence:
raw/playwright/workflows/purchase-integrations-safe-probe-20260519T084624Z.json. - Manual updated:
workflows/use-purchase-integrations.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:41 Europe/Lisbon - Supplier Self-Billing AFT Workflow Verified
Verified end to end. Created a supplier AFT self-billing invoice and confirmed the saved document through the AFT list plus stock/order-quantity recalculation.
- Workflow run:
supplier-self-billing-aft-20260519T084109Z. - Created document:
999900001 / AFT 9999/1. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-AFT-20260519T084109Z; internal referenceAI-AFT-REF-20260519T084109Z. - Accounting fields:
data_lanc_contabilidade=19/05/2026,CodTipoLanc=AccFactFMerc. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentcreated document999900001and redirected to/compras/aft/view/OTk5OTAwMDAx. - Verification:
DT_List_DocumentosFsearch for999900001returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from6to7; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-self-billing-aft-20260519T084109Z.json. - Manual updated:
workflows/create-supplier-self-billing-aft.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:35 Europe/Lisbon - Supplier Consignment Guide GCF Workflow Verified
Verified end to end. Created a supplier GCF consignment guide and confirmed the saved document through the GCF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-consignment-guide-gcf-20260519T083536Z. - Created document:
999900001 / GCF 9999/1. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-GCF-20260519T083536Z; internal referenceAI-GCF-REF-20260519T083536Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentcreated document999900001and redirected to/compras/gcf/view/OTk5OTAwMDAx. - Verification:
DT_List_DocumentosFsearch for999900001returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from5to6; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-consignment-guide-gcf-20260519T083536Z.json. - Manual updated:
workflows/create-supplier-consignment-guide-gcf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:28 Europe/Lisbon - Supplier Waybill GRF Workflow Verified
Verified end to end. Created a supplier GRF waybill and confirmed the saved document through the GRF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-waybill-grf-20260519T082819Z. - Created document:
999900035 / GRF 9999/35. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-GRF-20260519T082819Z; internal referenceAI-GRF-REF-20260519T082819Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentcreated document999900035and redirected to/compras/grf/view/OTk5OTAwMDM1. - Verification:
DT_List_DocumentosFsearch for999900035returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from4to5; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-waybill-grf-20260519T082819Z.json. - Manual updated:
workflows/create-supplier-waybill-grf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:22 Europe/Lisbon - Supplier Transportation Note GTF Workflow Verified
Verified end to end. Created a supplier GTF transportation note and confirmed the saved document through the GTF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-transport-note-gtf-20260519T082158Z. - Created document:
999900005 / GTF 9999/5. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-GTF-20260519T082158Z; internal referenceAI-GTF-REF-20260519T082158Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentcreated document999900005and redirected to/compras/gtf/view/OTk5OTAwMDA1. - Verification:
DT_List_DocumentosFsearch for999900005returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from3to4; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-transport-note-gtf-20260519T082158Z.json. - Manual updated:
workflows/create-supplier-transport-note-gtf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:15 Europe/Lisbon - Supplier Receipt Chargeback REF Workflow Verified
Verified end to end. Created a supplier REF receipt chargeback and confirmed that it settled the source supplier credit note.
- Workflow run:
supplier-receipt-chargeback-ref-20260519T081501Z. - Created chargeback:
999900005 / REF 9999/5. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Source credit note:
999900025 / NCF 9999/25, supplier referenceAI-NCF-20260519T075930Z. - Payment:
NUM, outbox[0] Caixa 0, total1.51. - Selection action:
changeEstadoReciboreturned{"success":true}and moved the NCF row to selected stateT. - Save action:
saveDocumentReciboreturned999900005&=&OKDOC&=&. - REF verification:
DT_List_DocumentosFsearch for999900005returnedREF 9999/5, statusF/ Closed, validationN/D, and total1.51. - Source verification:
DT_List_DocumentosFsearch for999900025showedLIQ/ Finished withValorPago=1.51. - Raw evidence:
raw/playwright/workflows/supplier-receipt-chargeback-ref-20260519T081501Z.json. - Manual updated:
workflows/create-supplier-receipt-chargeback-ref.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 09:04 Europe/Lisbon - Supplier Return Note NVF Workflow Verified
Verified end to end. Created a supplier NVF return note and confirmed the saved document through the NVF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-return-note-nvf-20260519T080457Z. - Created document:
999900001 / NVF 9999/1. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-NVF-20260519T080457Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentreturned999900001%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900001returned statusABR/ Open,ValorPago=0, blank validation fields, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from4to3; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-return-note-nvf-20260519T080457Z.json. - Manual updated:
workflows/create-supplier-return-note-nvf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:59 Europe/Lisbon - Supplier Credit Note NCF Workflow Verified
Verified end to end. Created a supplier NCF credit note and confirmed the saved document through the NCF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-credit-note-ncf-20260519T075930Z. - Created document:
999900025 / NCF 9999/25. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-NCF-20260519T075930Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentreturned999900025%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900025returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojaschanged warehouse1physical stock from5to4; customer-order quantity stayed4; supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-credit-note-ncf-20260519T075930Z.json. - Manual updated:
workflows/create-supplier-credit-note-ncf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:54 Europe/Lisbon - Supplier Debit Note NDF Workflow Verified
Verified end to end. Created a supplier NDF debit note and confirmed the saved document through the NDF list plus stock/order-quantity recalculation.
- Workflow run:
supplier-debit-note-ndf-20260519T075402Z. - Created document:
999900005 / 9999/5. The route and backend table identify it astipoop=NDF. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-NDF-20260519T075402Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentreturned999900005%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900005returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojasshowed warehouse1physical stock stayed5, customer-order quantity stayed4, and supplier-order quantity stayed2. - Raw evidence:
raw/playwright/workflows/supplier-debit-note-ndf-20260519T075402Z.json. - Manual updated:
workflows/create-supplier-debit-note-ndf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:47 Europe/Lisbon - Supplier Request for Quotation PEC Workflow Verified
Verified end to end. Created a supplier PEC request for quotation and confirmed the saved document through the PEC list plus stock/order-quantity recalculation.
- Workflow run:
supplier-request-quotation-pec-20260519T074730Z. - Created document:
999900017 / PEC 9999/17. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-PEC-20260519T074730Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentreturned999900017%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900017returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock/order result:
dt_list_recalc_stock_articles_lojasshowed warehouse1physical stock stayed5, supplier-order quantity changed from1to2, and customer-order quantity stayed4. - Raw evidence:
raw/playwright/workflows/supplier-request-quotation-pec-20260519T074730Z.json. - Manual updated:
workflows/create-supplier-request-quotation-pec.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:36 Europe/Lisbon - Supplier Cash Sale VDF Workflow Verified
Verified end to end. Created a supplier VDF cash-sale document, paid it during creation, and confirmed the saved document through the VDF list plus stock recalculation.
- Workflow run:
supplier-cash-sale-vdf-20260519T073648Z. - Created document:
999900001 / VDF 9999/1. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-VDF-20260519T073648Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Payment:
NUM, total1.51,troco=0. - Save action:
saveDocumentreturned999900001%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900001returned statusLIQ/ Finished,ValorPago=1.51, validationN/D, and total1.51. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from4to5; customer-order quantity stayed4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/supplier-cash-sale-vdf-20260519T073648Z.json. - Manual updated:
workflows/create-supplier-cash-sale-vdf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:31 Europe/Lisbon - Supplier Simplified Invoice FSF Workflow Verified
Verified end to end. Created a supplier FSF document, paid it during creation, and confirmed the saved document through the FSF list plus stock recalculation.
- Workflow run:
supplier-simplified-invoice-fsf-20260519T073106Z. - Created document:
999900002 / FSF 9999/2. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-FSF-20260519T073106Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Payment:
NUM, total1.51,troco=0. - Save action:
saveDocumentreturned999900002%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900002returned statusLIQ/ Finished,ValorPago=1.51, validationN/D, and total1.51. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from3to4; customer-order quantity stayed4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/supplier-simplified-invoice-fsf-20260519T073106Z.json. - Manual updated:
workflows/create-supplier-simplified-invoice-fsf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:25 Europe/Lisbon - Supplier Invoice / Receipt FRF Workflow Verified
Verified end to end. Created a supplier invoice/receipt, paid it during creation, and confirmed the saved document through the FRF list plus stock recalculation.
- Workflow run:
supplier-invoice-receipt-frf-20260519T072511Z. - Created document:
999900023 / FRF 9999/23. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-FRF-20260519T072511Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Payment:
NUM, total1.51,troco=0. - Save action:
saveDocumentreturned999900023%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900023returned statusLIQ/ Finished,ValorPago=1.51, validationN/D, and total1.51. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from2to3; customer-order quantity stayed4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/supplier-invoice-receipt-frf-20260519T072511Z.json. - Manual updated:
workflows/create-supplier-invoice-receipt-frf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:15 Europe/Lisbon - Supplier Payment RF Workflow Verified
Verified end to end. Created a supplier payment note and confirmed that it settled the source supplier invoice.
- Workflow run:
supplier-payment-rf-20260519T071455Z. - Created payment note:
999900074 / RF 9999/74. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Source invoice:
999900342 / FAF 9999/342, supplier referenceAI-FAF-20260519T070810Z. - Payment:
NUM, outbox[0] Caixa 0, total1.51. - Selection action:
changeEstadoReciboreturned{"success":true}and moved the FAF row to selected stateT. - Save action:
saveDocumentReciboreturned999900074&=&OKDOC&=&. - RF verification:
DT_List_DocumentosFsearch for999900074returnedRF 9999/74, statusF/ Closed, and total1.51. - Source verification:
DT_List_DocumentosFsearch for999900342changed fromABR/ Open,ValorPago=0toLIQ/ Finished,ValorPago=1.51. - Raw evidence:
raw/playwright/workflows/supplier-payment-rf-20260519T071455Z.json. - Manual updated:
workflows/create-supplier-payment-rf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:08 Europe/Lisbon - Supplier Invoice FAF Workflow Verified
Verified end to end. Created a supplier invoice and confirmed the saved document through the FAF list plus stock recalculation.
- Workflow run:
supplier-invoice-faf-20260519T070810Z. - Created invoice:
999900342 / FAF 9999/342. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-FAF-20260519T070810Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%, total1.51. - Save action:
saveDocumentreturned999900342%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900342returned statusABR/ Open,ValorPago=0, validationN/D, and total1.51. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from1to2; customer-order quantity stayed4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/supplier-invoice-faf-20260519T070810Z.json. - Manual updated:
workflows/create-supplier-invoice-faf.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 08:02 Europe/Lisbon - Purchase Lot Printing Probed
Filter behavior verified. Probed Purchases / Lot Printing without executing the final print action.
- Route:
/compras/impreslote, page titleOG - Lot Printing. - Filter call:
GET /ajaxserver?action=listaImpresLotewithtipoDoc=AFT,table=documaft,tipoterc=F,compras=T,date_filter_type=date, and default time range00:00to23:59. - Result: response
{"data":[]}, table showed No data available in table, and the button remained Print(0). - Final Print was not clicked to avoid creating output or changing print metadata.
- Manual updated:
workflows/use-purchase-lot-printing.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 07:55 Europe/Lisbon - Sales Utility Pages Probed
Filter behavior verified. Probed Lot Printing and Batch Billing without executing their final side-effect actions.
- Lot Printing route:
/vendas/impreslote, page titleOG - Lot Printing. - Lot Printing filter call:
GET /ajaxserver?action=listaImpresLotewith defaulttipoDoc=CI,table=DocumCI,date_filter_type=date, andcompras=F. - Lot Printing result: 9 CI rows returned and the button changed from Print(0) to Print(9); example row
CI 9999/9for[910] 100 Ouvidos Ldahad print count0and total1,97. - Lot Printing final action not clicked: page script indicates final
imprimirposts selected documents, grouping, print mode, andem_lote=T. - Batch Billing route:
/vendas/faturacaolote, page titleOG - Batch Billing. - Batch Billing default filter returned No data available in table; the action button remained Invoice & Send email(0).
- Batch Billing final action not clicked: page script indicates final
faturar_loteposts selected docs, document type, grouping, and target series after an Are you sure? confirmation. - Manual updated:
workflows/use-lot-printing.html,workflows/use-batch-billing.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:42 Europe/Lisbon - Zoom Level PRE Workflow Verified
Verified end to end. Created a PRE document from a source FS document, paid it through the payment modal, and confirmed the saved document through the PRE list plus stock recalculation.
- Workflow run:
zoom-level-pre-20260519T064145Z. - Created PRE document:
999900079 / PRE 9999/79. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reason:
1, Erro de faturacao. - Source association: selected
999900008 / FS 9999/8and lineFS_999900008_1. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: End opened the payment modal; selected [NUM] Numerario for
1.97, saved payment, then confirmed Are you sure?. - Save action:
saveDocumentreturned999900079%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumPRE,typesaft=NC,tipoop=PRE,oficinas=F,recibo=F, andactualizacc=Treturned statusLIQ/ Finished,ValorPago=1.97, pending0.00, and total1.97. - Stock/order result: warehouse
1physical stock changed from1to2; customer-order quantity stayed4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/zoom-level-pre-20260519T064145Z.json. - Manual updated:
workflows/create-zoom-level-pre.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:28 Europe/Lisbon - Damages RMA Workflow Verified
Verified end to end. Created an RMA damages document and confirmed the saved document through the RMA list plus stock/order recalculation.
- Workflow run:
damages-rma-20260519T062812Z. - Created damages document:
999900009 / RMA 9999/9. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source association menu: RMA exposed [ORC] Quotation, but the verified run created a direct article-line RMA.
- Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97, estimated date19/05/2026. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900009%&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumRMA,typesaft=WNE,tipoop=RMA,oficinas=F,recibo=F, andactualizacc=Freturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock/order result: warehouse
1physical stock stayed1; customer-order quantity changed from3to4; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/damages-rma-20260519T062812Z.json. - Manual updated:
workflows/create-damages-rma.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:23 Europe/Lisbon - Reparacao Molde OR Workflow Verified
Verified end to end. Created an OR mold repair document and confirmed the saved document through the OR list plus stock/order recalculation.
- Workflow run:
mold-repair-or-20260519T062304Z. - Created mold repair document:
999900003 / OR 9999/3. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source association menu: OR exposed [ENC] Internal Doc, but the verified run created a direct article-line OR.
- Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97, estimated date19/05/2026. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900003%&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumOR,typesaft=WNE,tipoop=OR,oficinas=F,recibo=F, andactualizacc=Freturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock/order result: warehouse
1physical stock stayed1; customer-order quantity changed from2to3; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/mold-repair-or-20260519T062304Z.json. - Manual updated:
workflows/create-mold-repair-or.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:18 Europe/Lisbon - Recuperacao FTM Workflow Verified
Verified end to end. Created an FTM recovery invoice and confirmed the saved document through the FTM list plus stock recalculation.
- Workflow run:
recovery-ftm-20260519T061803Z. - Created recovery invoice:
999900016 / FTM 9999/16. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Vehicle/entity context: vehicle fields were visible,
imprimirviaturawas checked, and license plate, brand, model, and mileage were blank in the verified direct-line save. - Delivery context: load location Leiria, postal code
2400, countryPRT; discharge address came from the customer record in Moura. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900016%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumFTM,typesaft=FT,tipoop=FTM,oficinas=T,recibo=F, andactualizacc=Treturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock/order result: warehouse
1physical stock changed from2to1; warehouse2stayed0; customer-order quantity stayed2; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/recovery-ftm-20260519T061803Z.json. - Manual updated:
workflows/create-recovery-ftm.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:14 Europe/Lisbon - C. Interno CI Workflow Verified
Verified end to end. Created a CI internal invoice and confirmed the saved document through the CI list plus stock recalculation.
- Workflow run:
internal-invoice-ci-20260519T060951Z. - Created internal invoice:
999900009 / CI 9999/9. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Vehicle/entity context: vehicle fields were visible,
imprimirviaturawas checked, and license plate, brand, model, and mileage were blank in the verified direct-line save. - Delivery context: load location Leiria, postal code
2400, countryPRT; discharge address came from the customer record in Moura. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900009%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumCI,typesaft=FT,tipoop=CI,oficinas=T,recibo=F, andactualizacc=Treturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock/order result: warehouse
1physical stock changed from1to0; warehouse2stayed0; customer-order quantity stayed2; supplier-order quantity stayed1. - Raw evidence:
raw/playwright/workflows/internal-invoice-ci-20260519T060951Z.json. - Manual updated:
workflows/create-internal-invoice-ci.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:06 Europe/Lisbon - Internal Doc GS Workflow Verified
Verified end to end. Created a GS internal document and confirmed the saved document through the GS list plus stock/order recalculation.
- Workflow run:
internal-doc-gs-20260519T060333Z. - Created internal document:
999900021 / GS 9999/21. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900021%&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumGS,typesaft=WNE, andtipoop=GSreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock/order result: warehouse
1physical stock stayed1; customer-order quantity changed from1to2. - Raw evidence:
raw/playwright/workflows/internal-doc-gs-20260519T060333Z.json. - Manual updated:
workflows/create-internal-doc-gs.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:00 Europe/Lisbon - Separation Guide GSA Workflow Verified
Verified end to end. Created a separation guide for material preparation between internal warehouses and confirmed the saved GSA through the separation-guide list plus stock recalculation.
- Workflow run:
separation-guide-gsa-20260519T055811Z. - Created separation guide:
999900001 / GSA 9999/1. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source warehouse:
1, Armazem de Entradas. - Destination warehouse:
2, Armazem de Monos; saved list fieldcodlojaentrada=2. - Line: article
AI-DEMO-20260519-021105, quantity1, source warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900001%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tabledocumgsa,typesaft=GA, andtipoop=GSAreturned statusABR/ Open, origin Armazem de Entradas, destination Armazem de Monos, pending1.97, and total1.97. - Stock result: no stock change observed; warehouse
1stayed1and warehouse2stayed0. - Saved view action observed: Convert to GA.
- Raw evidence:
raw/playwright/workflows/separation-guide-gsa-20260519T055811Z.json. - Manual updated:
workflows/create-separation-guide.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:55 Europe/Lisbon - Consignment Guide GC Workflow Verified
Verified end to end. Created a customer consignment guide and confirmed the saved GC through the consignment list plus stock recalculation.
- Workflow run:
consignment-guide-gc-20260519T055311Z. - Created consignment guide:
999900005 / GC 9999/5. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save flow: confirmed Are you sure?.
- Save action:
saveDocumentreturned999900005%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableGConsig,typesaft=GC, andtipoop=GCreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock result: warehouse
1changed from2to1; warehouse2stayed0. - Raw evidence:
raw/playwright/workflows/consignment-guide-gc-20260519T055311Z.json. - Manual updated:
workflows/create-consignment-guide.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:47 Europe/Lisbon - Guide to Supplier NGT Workflow Verified
Verified end to end. Created a supplier shipping guide and confirmed the saved NGT through the guide-to-supplier list plus stock recalculation.
- Workflow run:
guide-to-supplier-ngt-20260519T054516Z. - Created guide to supplier:
999900013 / NGT 9999/13. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Source warehouse:
2, Armazem de Monos. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse2, unit price1.23, VAT23%, total1.51. - Save flow: confirmed Will move stock a different warehouse of your preference. Confirm?, then Are you sure?.
- Save action:
saveDocumentreturned999900013%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableNGTransF,typesaft=GT, andtipoop=NGTreturned statusABR/ Open,ValorPago=0, pending1.51, and total1.51. - Stock result: warehouse
2changed from1to0; warehouse1stayed-2. - Raw evidence:
raw/playwright/workflows/guide-to-supplier-ngt-20260519T054516Z.json. - Manual updated:
workflows/create-guide-to-supplier.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:42 Europe/Lisbon - Asset Movement Guide GA Workflow Verified
Verified end to end. Created an asset movement guide and confirmed the saved GA through the movement-guide list plus source/destination stock recalculation.
- Workflow run:
asset-movement-guide-ga-20260519T053643Z. - Created asset movement guide:
999900015 / GA 9999/15. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source warehouse:
1, Armazem de Entradas. - Destination warehouse:
2, Armazem de Monos; saved list fieldcodlojaentrada=2. - Line: article
AI-DEMO-20260519-021105, quantity1, source warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900015%AI-DEMO-20260519-021105:1#&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableGMovArt,typesaft=GA, andtipoop=GAreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock result: warehouse
1changed from-1to-2; warehouse2changed from0to1. - Raw evidence:
raw/playwright/workflows/asset-movement-guide-ga-20260519T053643Z.json. - Manual updated:
workflows/create-asset-movement-guide.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:29 Europe/Lisbon - Transportation Note GIP Workflow Verified
Verified end to end. Created a GIP transportation note and confirmed the saved document through the GIP list plus stock recalculation. The first automation run saved successfully but its parser expected the plainer GT response, so final evidence was recovered from the captured failed run and stored in the non-failed JSON evidence file.
- Workflow run:
transportation-note-gip-20260519T052722Z. - Created transportation note:
999900018 / GIP 9999/18. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Load location:
Leiria, postal code2400, countryPRT. - Discharge location: customer address in
Moura, postal code7860-004, countryPRT. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900018%AI-DEMO-20260519-021105:1#&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableDocumGIP,typesaft=GT, andtipoop=GIPreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock result: warehouse
1stock for the demo article changed from0to-1; the article lookup usedactualizastocks=T. - Raw evidence:
raw/playwright/workflows/transportation-note-gip-20260519T052722Z.jsonand recovery sourceraw/playwright/workflows/transportation-note-gip-20260519T052722Z-failed.json. - Manual updated:
workflows/create-transportation-note-gip.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:24 Europe/Lisbon - Transportation Note GT Workflow Verified
Verified end to end. Created a transportation note and confirmed the saved GT through the transportation-note list plus stock recalculation.
- Workflow run:
transportation-note-gt-20260519T052242Z. - Created transportation note:
999900089 / GT 9999/89. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Load location:
Leiria, postal code2400, countryPRT. - Discharge location: customer address in
Moura, postal code7860-004, countryPRT. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900089%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableGTransreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock result: warehouse
1stock for the demo article stayed0; the line was accepted with stock0. - Raw evidence:
raw/playwright/workflows/transportation-note-gt-20260519T052242Z.json. - Manual updated:
workflows/create-transportation-note.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:15 Europe/Lisbon - Shipping Doc GR Workflow Verified
Verified end to end. Created a shipping guide and confirmed the saved GR through the shipping-doc list plus stock recalculation.
- Workflow run:
shipping-doc-gr-20260519T051437Z. - Created shipping doc:
999900020 / GR 9999/20. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Load location:
Leiria, postal code2400, countryPRT. - Discharge location: customer address in
Moura, postal code7860-004, countryPRT. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900020%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableGRemreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Stock result: warehouse
1stock for the demo article changed from1to0. - Raw evidence:
raw/playwright/workflows/shipping-doc-gr-20260519T051437Z.json. - Manual updated:
workflows/create-shipping-doc.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:08 Europe/Lisbon - Debit Note ND Workflow Verified
Verified end to end. Created a debit note from a verified FT source invoice and confirmed the saved ND through the debit-note list.
- Workflow run:
debit-note-nd-20260519T050637Z. - Created debit note:
999900004 / ND 9999/4. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source document:
999901666 / FT 9999/1666. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900004%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableNDebreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Source invoice result:
FT 9999/1666stayedLIQ/ Finished, paid1.97, pending0.00. - Stock result: warehouse
1stock for the demo article stayed1. - Raw evidence:
raw/playwright/workflows/debit-note-nd-20260519T050637Z.json. - Manual updated:
workflows/create-debit-note.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 06:02 Europe/Lisbon - Credit Note NC Workflow Verified
Verified end to end. Created a credit note from a verified simplified invoice source and confirmed the source was removed from the NC association list.
- Workflow run:
credit-note-nc-20260519T050026Z. - Created credit note:
999900059 / NC 9999/59. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source document:
999900008 / FS 9999/8. - Reason:
1, Erro de faturação. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900059%OK&=&OKDOC&=&. - Verification:
DT_List_Documentoswith tableNCredreturned statusABR/ Open,ValorPago=0, pending1.97, and total1.97. - Source association result:
associar_documento option=listar_documentosforFSreturned an empty list after save, soFS 9999/8was no longer available to credit again. - Stock result: warehouse
1stock for the demo article changed from0to1. - Raw evidence:
raw/playwright/workflows/credit-note-nc-20260519T050026Z.json. - Manual updated:
workflows/create-credit-note.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:47 Europe/Lisbon - Receipt Reversal RE Workflow Verified
Verified end to end. Created a receipt reversal against an open credit note and confirmed the source credit note became paid/finished.
- Workflow run:
receipt-reversal-re-20260519T044549Z. - Created receipt reversal:
999900014 / RE 9999/14. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source document:
999900058 / NC 9999/58, pending74.91. - Payment:
[NUM] Numerário, value74.91. - Save action:
saveDocumentReciboreturned999900014&=&OKDOC&=&&=&OKDOC&=&. - Receipt reversal verification:
DT_List_Documentoswith tableRecibosEstreturned statusF/ Closed and total74.91. - Source credit note verification:
NC 9999/58changed fromABR/ Open toLIQ/ Finished,ValorPagochanged from0to74.91, and pending changed from74.91to0.00. - Raw evidence:
raw/playwright/workflows/receipt-reversal-re-20260519T044549Z.json. - Manual updated:
workflows/create-receipt-reversal.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:40 Europe/Lisbon - Pro-Forma Invoice FP Workflow Verified
Verified end to end. Created a pro-forma invoice and confirmed the saved document through the FP list and article stock/order endpoint.
- Workflow run:
proforma-invoice-fp-20260519T043852Z. - Created pro-forma invoice:
999900062 / FP 9999/62. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reference:
AI-FP-20260519T043852Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900062%OK&=&OKDOC&=&. - Verification:
DT_List_Documentossearch for999900062returned statusABR/ Open,ValorPago=0, pending1.97, and referenceAI-FP-20260519T043852Z. - Stock/order result: warehouse
1stock stayed0;qtd_enc_clienteandqtd_enc_fornstayed1. - Raw evidence:
raw/playwright/workflows/proforma-invoice-fp-20260519T043852Z.json. - Manual updated:
workflows/create-proforma-invoice.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:35 Europe/Lisbon - Simplified Invoice FS Workflow Verified
Verified end to end. Created a simplified invoice and confirmed the paid document through the FS list and article stock endpoint.
- Workflow run:
simplified-invoice-fs-20260519T043414Z. - Created simplified invoice:
999900008 / FS 9999/8. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reference:
AI-FS-20260519T043414Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Payment:
[NUM] Numerário, value1.97, bank/cash[CXC] Caixa Defeito - Caixa Colaborador Demo. - Save action:
saveDocumentreturned999900008%OK&=&OKDOC&=&. - Verification:
DT_List_Documentossearch for999900008returned statusLIQ/ Finished,ValorPago=1.97, pending0.00, and referenceAI-FS-20260519T043414Z. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from1to0. - Raw evidence:
raw/playwright/workflows/simplified-invoice-fs-20260519T043414Z.json. - Manual updated:
workflows/create-simplified-invoice.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 07:50 Europe/Lisbon - Deferred Receipt RP Workflow Verified
Verified end to end. Created a deferred receipt against an open FT invoice and confirmed the source invoice became paid/finished.
- Workflow run:
deferred-receipt-rp-20260519T065002Z. - Created deferred receipt:
999900009 / RP 9999/9. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source document:
999901667 / FT 9999/1667, pending1.97. - Payment:
[NUM] Numerario, value1.97, inbox[0] Caixa 0. - Save action:
saveDocumentReciboreturned999900009&=&OKDOC&=&&=&OKDOC&=&. - RP verification:
DT_List_Documentossearch for999900009returned statusABR/ Open, total1.97,ValorPago=0, and pending1.97. - Invoice verification:
DT_List_Documentossearch for999901667returned statusLIQ/ Finished,ValorPago=1.97, and pending0.00. - Raw evidence:
raw/playwright/workflows/deferred-receipt-rp-20260519T065002Z.json. - Manual updated:
workflows/create-deferred-receipt-rp.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:28 Europe/Lisbon - Receipt R Workflow Verified
Verified end to end. Created a receipt against the open FT invoice and confirmed the source invoice became paid/finished.
- Workflow run:
receipt-r-20260519T042639Z. - Created receipt:
999900245 / R 9999/245. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Source document:
999901666 / FT 9999/1666, pending1.97. - Payment:
[NUM] Numerário, value1.97, bank/cash[CXC] Caixa Defeito - Caixa Colaborador Demo. - Save action:
saveDocumentReciboreturned999900245&=&OKDOC&=&&=&OKDOC&=&. - Receipt verification:
DT_List_Documentossearch for999900245returned statusF/ Closed and total1.97. - Invoice verification:
DT_List_Documentossearch for999901666returned statusLIQ/ Finished,ValorPago=1.97, and pending0.00. - Raw evidence:
raw/playwright/workflows/receipt-r-20260519T042639Z.jsonand recovery verifierraw/playwright/workflows/receipt-r-20260519T042639Z-recovery.json. - Manual updated:
workflows/create-receipt.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:19 Europe/Lisbon - Quotation ORC Workflow Verified
Verified end to end. Created a quotation and confirmed the saved document through the ORC list and article stock/order endpoint.
- Workflow run:
quotation-orc-20260519T041813Z. - Created quotation:
999900086 / ORC 9999/86. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reference:
AI-ORC-20260519T041813Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900086%OK&=&OKDOC&=&. - Verification:
DT_List_Documentossearch for999900086returned statusABR/ Open,ValorPago=0, total1.97, and referenceAI-ORC-20260519T041813Z. - Stock/order result: physical stock,
qtd_enc_cliente, andqtd_enc_fornall stayed unchanged. - Raw evidence:
raw/playwright/workflows/quotation-orc-20260519T041813Z.json. - Manual updated:
workflows/create-quotation.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:14 Europe/Lisbon - Sales Order ENC Workflow Verified
Verified end to end. Created a customer order and confirmed the saved document through the ENC list and article stock/order endpoint.
- Workflow run:
sales-order-enc-20260519T041301Z. - Created order:
999900103 / ENC 9999/103. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reference:
AI-ENC-20260519T041301Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999900103%&=&OKDOC&=&. - Verification:
DT_List_Documentossearch for999900103returned statusABR/ Open,ValorPago=0, pending value1.97, and referenceAI-ENC-20260519T041301Z. - Stock/order result: physical stock stayed
1;qtd_enc_clientechanged from0to1. - Raw evidence:
raw/playwright/workflows/sales-order-enc-20260519T041301Z.json. - Manual updated:
workflows/create-sales-order.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:08 Europe/Lisbon - Sales Invoice FT Workflow Verified
Verified end to end. Created a normal sales invoice and confirmed the saved document through the FT list and article stock endpoint.
- Workflow run:
sales-invoice-ft-20260519T040734Z. - Created invoice:
999901666 / FT 9999/1666. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Reference:
AI-FT-20260519T040734Z. - Line: article
AI-DEMO-20260519-021105, quantity1, warehouse1, unit price1.60, VAT23%, total1.97. - Save action:
saveDocumentreturned999901666%OK&=&OKDOC&=&. - Verification:
DT_List_Documentossearch for999901666returned statusABR/ Open,ValorPago=0, pending value1.97, and referenceAI-FT-20260519T040734Z. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from2to1. - Raw evidence:
raw/playwright/workflows/sales-invoice-ft-20260519T040734Z.json. - Manual updated:
workflows/create-sales-invoice.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 05:01 Europe/Lisbon - Order to Supplier EF Workflow Verified
Verified end to end. Created an Order to Supplier document and confirmed the saved order through the EF document list and article stock/order quantities.
- Workflow run:
supplier-order-ef-20260519T040050Z. - Created order:
999900111 / EF 9999/111. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier reference:
AI-EF-20260519T040050Z. - Line: article
AI-DEMO-20260519-021105, quantity1, unit cost1.23, total1.51. - Save action:
saveDocumentreturned999900111%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900111returned statusABR/ Open, total1.51, andValorPago=0. - Stock/order result: physical stock stayed
2;qtd_enc_fornchanged from0to1. - Raw evidence:
raw/playwright/workflows/supplier-order-ef-20260519T040050Z.json. - Manual updated:
workflows/create-supplier-order.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 04:55 Europe/Lisbon - Purchase / Expense CD Finalization Verified
Verified end to end. Finalized purchase/expense draft 456 into a finished CD document and confirmed payment, list state, draft removal, and stock increase.
- Workflow run:
purchase-expense-finalize-20260519T035328Z. - Created document:
999900053 / CD 9999/53. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier document number:
AI-CD-DRAFT-20260519T034251Z. - Payment:
[NUM] Numerario, value1.51, cash/bank label[CXC] Caixa Defeito - Caixa Colaborador Demo. - Save action:
saveDocumentreturned999900053%&=&OKDOC&=&. - Verification:
DT_List_DocumentosFsearch for999900053returned statusLIQ,ValorPago=1.51, and total1.51. - Draft result:
dt_list_draftsno longer returned draft456. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1stock forAI-DEMO-20260519-021105from1to2. - Raw evidence:
raw/playwright/workflows/purchase-expense-finalize-20260519T035328Z.jsonand recovery verifierraw/playwright/workflows/purchase-expense-finalize-20260519T035328Z-recovery.json. - Manual updated:
workflows/finalize-purchase-expense.html,modules/purchases.html, andapi/network-catalog.html.
2026-05-19 04:43 Europe/Lisbon - Purchase / Expense CD Draft Workflow Verified
Verified draft save. Created a new Purchases / Expenses CD draft in the demo and confirmed the record through the CD draft list endpoint.
- Workflow run:
purchase-expense-draft-20260519T034251Z. - Created draft:
456. - Supplier:
[100] AI Demo Supplier 20260519T030323Z, VAT590303236. - Supplier document number:
AI-CD-DRAFT-20260519T034251Z. - Article line:
AI-DEMO-20260519-021105, quantity1, warehouse1, unit cost1.23, VAT23%. - Totals: net
1.23, VAT0.2829, payable total1.51. - Save action:
saveRascunhoreturnedOK:456. - Verification:
dt_list_draftsreturned draft456, typeCD, series9999, employeeDemo, and total1.51. - Raw evidence:
raw/playwright/workflows/purchase-expense-draft-20260519T034251Z.json. - Manual updated:
workflows/create-purchase-expense-draft.html,modules/purchases.html, andapi/network-catalog.html.
This is draft-only evidence. CD End finalization and finished-document stock impact are covered separately in purchase-expense-finalize-20260519T035328Z; accounting posting/export details still need separate evidence.
2026-05-19 04:33 Europe/Lisbon - GDPR Request Workflow Verified
Verified. Created a new GDPR Look-up request in the demo from the GDPR list and confirmed the record through the GDPR request list endpoint.
- Workflow run:
create-gdpr-request-20260519T033345Z. - Created request:
9. - Entity: customer
1003,AI Demo Customer 20260519T025604Z. - Ordered by:
AI Demo GDPR Requester 20260519T033345Z. - Identification document:
DEMO-DOC-20260519T033345Z. - Save action:
create_gdpr_reqreturned{"success":true}. - Verification:
DT_list_gdpr_reqreturned request9,req_type=1,status=0, andstatus_estado=I. - Raw evidence:
raw/playwright/workflows/create-gdpr-request-20260519T033345Z.json. - Manual updated:
workflows/create-gdpr-request.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 04:29 Europe/Lisbon - Commercial Record Creation Workflow Verified
Verified. Created a new commercial record in the demo from the Business list and confirmed the record through the generic Business grid and representative selector lookup.
- Workflow run:
create-business-20260519T032902Z. - Created commercial record:
[15] AI Demo Commercial 20260519T032902Z. - VAT:
590329022. - Address:
Rua Comercial Demo 19,Leiria,2400-006, countryPT. - Save action:
createNovoComercial. - Final URL:
/entidades/comerciais/view/MTU=. - Verification:
DT_Select&table=represntreturned rowCodRepres: 15;Sel2_Select_v2returned the representative selector row. - Raw evidence:
raw/playwright/workflows/create-business-20260519T032902Z.json. - Manual updated:
workflows/create-business.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 04:20 Europe/Lisbon - Employee Creation Workflow Verified
Verified. Created a new employee in the demo from the Employees list and confirmed the record through grid search, selector lookup, and employee master-data lookup.
- Workflow run:
create-employee-20260519T031958Z. - Created employee:
[122] AI Demo Employee 20260519T031958Z. - Address:
Rua Employee Demo 19,Leiria,2400-005, countryPT. - Email:
ai-demo-employee-20260519t031958z@example.invalid. - Permissions:
[24] Santos Demo; cash register0. - Save action: form post to
/ajaxserverwithnewempregado. - Verification:
dt_select_empreg_depreturnedrecordsFiltered: 1;Sel2_Select_v2resolved employee122;NameEntidades&tabla=EmpregreturnedActivo: T. - Raw evidence:
raw/playwright/workflows/create-employee-20260519T031958Z.json. - Manual updated:
workflows/create-employee.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 04:13 Europe/Lisbon - Prospect Creation Workflow Verified
Verified. Created a new prospect in the demo from the Prospects list and confirmed the record through both grid search and prospect master-data lookup.
- Workflow run:
create-prospect-20260519T031326Z. - Created prospect:
[22] AI Demo Prospect 20260519T031326Z. - VAT:
590313266. - Address:
Rua Prospect Demo 19,Leiria,2400-004, countryPT. - Save action:
createNovoProspectreturnedid: 22. - Verification:
DT_Select_ProspectsreturnedrecordsFiltered: 1;NameEntidades&tabla=ProspectreturnedActivo: T. - Raw evidence:
raw/playwright/workflows/create-prospect-20260519T031326Z.json. - Manual updated:
workflows/create-prospect.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 04:08 Europe/Lisbon - Contact Creation Workflow Verified
Verified. Created a new contact in the demo from the Contacts list and confirmed the record through both grid search and contact master-data lookup.
- Workflow run:
create-contact-20260519T030819Z. - Created contact:
[27] AI Demo Contact 20260519T030819Z. - VAT:
590308190. - Address:
Rua Contacto Demo 19,Leiria,2400-003, countryPT. - Save action:
createNovoContactoreturnedid: 27. - Verification:
DT_SelectContactosreturnedrecordsFiltered: 1;NameEntidades&tabla=ContactosreturnedActivo: T. - Raw evidence:
raw/playwright/workflows/create-contact-20260519T030819Z.json. - Manual updated:
workflows/create-contact.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 04:03 Europe/Lisbon - Supplier Creation Workflow Verified
Verified. Created a new supplier in the demo from the Suppliers list and confirmed the record through both grid search and supplier master-data lookup.
- Workflow run:
create-supplier-20260519T030323Z. - Created supplier:
[100] AI Demo Supplier 20260519T030323Z. - VAT:
590303236. - Address:
Rua Fornecedor Demo 19,Armazem 2,Leiria,2400-002, countryPT. - Save action:
createNovoForn. - Verification:
DT_SelectFornecedoresreturnedrecordsFiltered: 1;NameEntidades&tabla=FornreturnedActivo: Tand accounting account2211100100. - Raw evidence:
raw/playwright/workflows/create-supplier-20260519T030323Z.json. - Manual updated:
workflows/create-supplier.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 03:56 Europe/Lisbon - Customer Creation Workflow Verified
Verified. Created a new customer in the demo from the Customers list and confirmed the record through both grid search and customer master-data lookup.
- Workflow run:
create-customer-20260519T025604Z. - Created customer:
[1003] AI Demo Customer 20260519T025604Z. - VAT:
590256041. - Address:
Rua Demo 19,Leiria,2400-001, countryPT. - Save action:
createNovoClientereturnedid: 1003. - Verification:
DT_SelectClientesreturnedrecordsFiltered: 1;NameEntidadesreturnedActivo: Tand accounting account2111101003. - Raw evidence:
raw/playwright/workflows/create-customer-20260519T025604Z.json. - Manual updated:
workflows/create-customer.html,modules/entities.html, andapi/network-catalog.html.
2026-05-19 18:37 Europe/Lisbon - Sales Invoice to Credit Note Verified
Verified. Created a fresh FT invoice, used the invoice view's To convert / Credit note action, copied the source line, saved the NC, and verified list and stock effects.
- Workflow run:
sales-invoice-to-credit-note-20260519T173701Z. - Source invoice:
999901674 / FT 9999/1674. - Created credit note:
999900061 / NC 9999/61. - Reason:
id_motivo=1, visible as Erro de faturacao. - Source metadata on NC line:
ndocori=999901674,tipodocori=FT,linhandocori=1. - Final NC state:
ABR/ Open, total1.97,ValorPago=0. - Source FT state after NC:
ABR/ Open. - Stock result: warehouse
1moved from0before FT to-1after FT and back to0after NC. - Raw evidence:
raw/playwright/workflows/sales-invoice-to-credit-note-20260519T173701Z.json. - Manual updated:
workflows/convert-sales-invoice-to-credit-note.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 18:27 Europe/Lisbon - Sales Invoice Cancellation Verified
Verified. Created a fresh FT invoice, cancelled it from the invoice view with a cancellation reason, and confirmed the FT list state changed to canceled.
- Workflow run:
cancel-sales-invoice-ft-20260519T172726Z. - Created and cancelled document:
999901672 / FT 9999/1672. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Cancellation reason:
id_motivo_anulacao=1, visible as Erro de faturacao. - Eligibility check:
podeAnularDocreturnedsucceeded:true. - Final state:
DT_List_Documentosreturnedestado=ANUanddesig_estado=Canceled. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1from-2before cancellation to-1after cancellation. - Raw evidence:
raw/playwright/workflows/cancel-sales-invoice-ft-20260519T172726Z.json. - Manual updated:
workflows/cancel-sales-invoice.html,workflows/invoicing-hub.html,modules/sales.html, andapi/network-catalog.html.
2026-05-19 03:47 Europe/Lisbon - Invoice / Receipt Workflow Verified
Verified. Created, paid, and finalized an Invoice / Receipt in the demo, then confirmed stock decreased for the sold article.
- Workflow run:
invoice-fr-20260519T024739Z. - Created document:
FR 9999/841, internal number999900841. - Customer:
[910] 100 Ouvidos Lda, VAT509031862. - Article:
AI-DEMO-20260519-021105, quantity1, total1,97 EUR. - Payment:
[NUM] Numerario, payment total1.97, confirmed with Are you sure?. - Save response:
999900841%OK&=&OKDOC&=&. - Final URL:
/vendas/fr/view/OTk5OTAwODQx. - Stock result:
dt_list_recalc_stock_articles_lojaschanged warehouse1from2to1. - Raw evidence:
raw/playwright/workflows/invoice-fr-20260519T024739Z.json. - Manual updated:
workflows/create-invoice.html,modules/sales.html, andapi/network-catalog.html.
Two important validation cases were also captured: customer 1 from Final Customer is inactive and blocks finalization, and the Payment modal requires a payment method before Save can finalize the document.
2026-05-19 03:25 Europe/Lisbon - Stock Update Workflow Verified
Verified. Created and saved a stock movement in the demo, then confirmed the article warehouse stock changed.
- Workflow run:
stock-movement-20260519T022454Z. - Movement number:
239. - Article:
AI-DEMO-20260519-021105. - Movement type: Entrada p/ Recontagem.
- Warehouse:
[1] Armazem de Entradas. - Stock result:
dt_list_recalc_stock_articles_lojaschanged from0to2for warehouse1. - Raw evidence:
raw/playwright/workflows/stock-movement-20260519T022454Z.json.
2026-05-19 03:16 Europe/Lisbon - Stock Movement Create Page Inspected
Verified open, not saved. Opened /stocks/movstock/movimentos, clicked create movement, and captured the stock movement creation page without submitting a movement.
- Final URL:
/stocks/movstock/movimentos/create. - Evidence:
raw/playwright/workflows/inspect-stock-movement-create-20260519T021605Z.json. - Screenshots:
assets/screenshots/inspect-stock-movement-create-20260519T021605Z-01-movements-list.pngandassets/screenshots/inspect-stock-movement-create-20260519T021605Z-02-create-movement-ui.png. - Manual updated:
workflows/update-stock.html.
2026-05-19 03:11 Europe/Lisbon - Create Article Workflow Verified
Verified. Executed the Stocks > Articles > Create New Article workflow in the demo environment and confirmed that the created article appears in article list lookups.
- Created article:
AI-DEMO-20260519-021105. - Workflow page:
workflows/create-article.html. - Automation script:
tools/run-create-article-workflow.cjs. - Raw evidence:
raw/playwright/workflows/create-article-20260519T021105Z.json. - Verification:
DT_Select_ArtigosIVAreturnedrecordsFiltered: 1for both global and Article ID column search modes.
2026-05-19 03:00 Europe/Lisbon - Authenticated Route Crawl
Verified. Ran a read-only Playwright crawl over the de-duplicated internal route inventory extracted from the dashboard. The crawl visited 188 routes and all returned HTTP 200 without login redirects.
- Modules covered: purchases, configuration, CRM, entities, profile, stocks, tickets, and sales.
- Generated route catalog:
route-catalog.html. - Generated master manual:
master-manual.html. - Generated module manuals:
modules/*-manual.html. - Generated workflow/action matrix:
workflows/action-matrix.html. - Generated route detail pages:
pages/*.htmlwith one page per crawled route. - Raw aggregate evidence:
raw/playwright/route-crawl/results.json. - Raw per-route JSON files:
raw/playwright/route-crawl/*.json.
This pass navigated pages and collected DOM/network metadata only. It did not click Save, End, Submit, Delete, or workflow state-changing buttons.
2026-05-19 01:15 Europe/Lisbon - Login Verified
Verified. Opened https://democomercial.officegest.com/, selected Back Office, entered demo for username and password, and reached the authenticated dashboard.
- Observed authenticated URL:
https://democomercial.officegest.com/. - Observed page title:
OfficeGest. - Observed company context: Demonstration / Officegest Lda.
- Observed exercise: A2026.
- Observed demo warning: demo version limits some functionality.
- Evidence:
../.playwright-cli/page-2026-05-19T01-15-17-924Z.ymland../.playwright-cli/officegest-demo-state.json.
Research Rules
- Every workflow page must distinguish verified steps from inferred or untested steps.
- Every destructive or externally visible action must stay inside the demo environment.
- Network/API findings must cite captured requests, response bodies, or browser observations.
- Backend technology claims must be based on observed headers, asset paths, request patterns, source files, or official public evidence.
Current Gaps
- Complete menu taxonomy is extracted; many menu routes still need workflow-level execution and action-by-action verification.
- Sales document creation is verified for FT, FR, FS, ORC, ENC, FP, RP, RE, NC, ND, PRE, and the guide/internal variants captured in the Sales module. FT customer selection, article search, Portes, gift-card apply boundary, loyalty-card lookup and discount boundary, line edits, draft lifecycle, validation, cancellation, FT-to-NC, and FT-to-R are verified. Remaining sales gaps include external send side effects, batch billing final execution, tenant-dependent loyalty discount success after parameter setup, and other non-happy-path validation cases.
- Customer, supplier, contact, prospect, employee, business/commercial, GDPR Look-up, GDPR Portability, GDPR Anonymity, and GDPR Other request registration are verified for the core happy-path fields captured in each workflow. Downstream GDPR request processing actions still need separate runs.
- Purchase / Expense CD draft creation/finalization and Order to Supplier EF creation are verified for one supplier and one normal article line. Accounting posting/export details and other purchase document types still need separate runs.
- Stock quantity increase via Entrada p/ Recontagem, outgoing recount, and warehouse transfer are verified. Serial/lot article movements and negative-stock edge cases still need separate runs.
- Observed network calls have first-pass classification, but individual POST payload meanings still need deeper analysis.
- Public OSINT has initial Firecrawl captures, but product-specific module pages still need full scraping.