Start Here for Invoicing
For daily sales work, start with the Invoicing Hub. It explains when to use FT, FR, FS, receipts, credit notes, debit notes, pro-forma invoices, orders, and quotations, then links to the detailed verified workflow for each one.
Invoice / Receipt Cancellation
Verified end to end: Workflow run cancel-invoice-receipt-fr-20260519T234010Z created paid document 999900849 / FR 9999/849, cancelled it from the FR view with reason Erro de faturacao, and verified the list state became ANU / Canceled.
OfficeGest kept the cancelled FR searchable, kept ValorPago=1.97 with pending value 0.00, and reversed the stock movement for article AI-DEMO-20260519-021105 from -38 back to -37.
Detailed how-to: How to Cancel an Invoice / Receipt.
Simplified Invoice Cancellation
Verified end to end: Workflow run cancel-simplified-invoice-fs-20260519T234643Z created paid document 999900012 / FS 9999/12, cancelled it from the FS view with reason Erro de faturacao, and verified the list state became ANU / Canceled.
OfficeGest kept the cancelled FS searchable, kept ValorPago=1.97 with pending value 0.00, and reversed the stock movement for article AI-DEMO-20260519-021105 from -38 back to -37.
Detailed how-to: How to Cancel a Simplified Invoice.
Sales Invoice Fiscal Zone
Verified with caveat: Workflow run sales-invoice-fiscal-zone-20260519T195158Z changed an FT fiscal zone from PT-MA to PT, saved 999901684 / FT 9999/1684, and verified the saved view reset to PT-MA for customer 910.
Raw evidence: raw/playwright/workflows/sales-invoice-fiscal-zone-20260519T195158Z.json and screenshots under assets/screenshots/sales-invoice-fiscal-zone-20260519T195158Z-*.png.
| Behavior | Observed detail |
|---|---|
| Default fiscal zone | The FT create form opened with #doc_zonafiscal=PT-MA. |
| Lookup values | Sel2_Select_ZonasFiscais resolved PT / Portugal, with other observed values PT-AC, PT-MA, and ES. |
| Manual change | The form accepted #doc_zonafiscal=PT before save. |
| Final save | The nested saveDocument form payload included zonafiscal=PT. |
| Final view nuance | The saved FT reopened with #doc_zonafiscal=PT-MA, indicating this demo customer default was restored after save. |
Detailed how-to: How to Check the Fiscal Zone on a Sales Invoice.
Sales Invoice Line Discount
Verified end to end: Workflow run sales-invoice-line-discount-20260519T195856Z applied a 10% first discount to an FT line, saved 999901685 / FT 9999/1685, and verified the final line and list totals.
Raw evidence: raw/playwright/workflows/sales-invoice-line-discount-20260519T195856Z.json and screenshots under assets/screenshots/sales-invoice-line-discount-20260519T195856Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The first line discount is stored as Desconto1; the verified run set it to 10. |
| Validation | The edit function validates discount values between 0 and 100 and posts to updateEditableTabDoc. |
| Discount amount | For unit price 1.599, DescontoLinha became 0.1599. |
| Final line | The saved FT view retained Desconto1=10, DescontoLinha=0.1599, and VAT value 0.330993. |
| Invoice result | The FT list returned total 1.77, paid 0.00, and pending 1.77. |
Detailed how-to: How to Apply a Line Discount on a Sales Invoice.
Sales Invoice Line Description
Verified end to end: Workflow run sales-invoice-line-description-20260519T205155Z changed an FT line custom description, saved 999901695 / FT 9999/1695, and verified the final line retained DesignacaoExt.
Raw evidence: raw/playwright/workflows/sales-invoice-line-description-20260519T205155Z.json and screenshots under assets/screenshots/sales-invoice-line-description-20260519T205155Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The visible designation edit saves the custom value into DesignacaoExt. |
| Verified value | Consultoria operacional OfficeGest. |
| Line edit | updateEditableTabDoc returned success for campo=DesignacaoExt. |
| Final line | The saved FT view retained the original article name in DesignacaoOri and the custom text in DesignacaoExt. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Change a Line Description on a Sales Invoice.
Sales Invoice Line Expected Date
Verified end to end: Workflow run sales-invoice-line-expected-date-20260519T210214Z changed an FT line DataPrevista to 26/05/2026, saved 999901697 / FT 9999/1697, and verified the final line retained the expected date.
Raw evidence: raw/playwright/workflows/sales-invoice-line-expected-date-20260519T210214Z.json and screenshots under assets/screenshots/sales-invoice-line-expected-date-20260519T210214Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line expected/planned date is stored as DataPrevista. |
| Verified value | 26/05/2026, persisted as 2026-05-26 00:00:00. |
| Line edit | updateEditableTabDoc returned success for campo=DataPrevista. |
| Final line | The saved FT view retained DataPrevista=2026-05-26 00:00:00 and TotalCIVA=1.96677. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set a Line Expected Date on a Sales Invoice.
Sales Invoice Line Unit
Verified end to end: Workflow run sales-invoice-line-unit-20260519T210702Z changed an FT line unit from UN to H, saved 999901698 / FT 9999/1698, and verified the final line retained the unit.
Raw evidence: raw/playwright/workflows/sales-invoice-line-unit-20260519T210702Z.json and screenshots under assets/screenshots/sales-invoice-line-unit-20260519T210702Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line unit of measure is stored as CodUnidade. |
| Verified value | H / Hora / Homem (FTE). |
| Line edit | updateEditableTabDoc returned success for campo=CodUnidade and value=H. |
| Final line | The saved FT view retained CodUnidade=H and TotalCIVA=1.96677. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set a Line Unit of Measure on a Sales Invoice.
Sales Invoice Line Unit Price
Verified end to end: Workflow run sales-invoice-line-unit-price-20260519T204703Z changed an FT line unit price from 1.599 to 2.50, saved 999901694 / FT 9999/1694, and verified the final line and list totals.
Raw evidence: raw/playwright/workflows/sales-invoice-line-unit-price-20260519T204703Z.json and screenshots under assets/screenshots/sales-invoice-line-unit-price-20260519T204703Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line unit price is stored as PrecoUni. |
| Verified value | 2.50, persisted as 2.5 in the final line data. |
| Line edit | updateEditableTabDoc returned success for campo=PrecoUni and value=2.50. |
| Final line | The saved FT view retained PrecoUni=2.5, ValorIVA=0.575, and TotalCIVA=3.075. |
| Invoice result | The FT list returned total 3.08, paid 0.00, and pending 3.08. |
Detailed how-to: How to Change a Line Unit Price on a Sales Invoice.
Sales Invoice Email Preparation
Verified up to the send boundary: Workflow run sales-invoice-prepare-email-20260519T213657Z opened saved invoice 999901699 / FT 9999/1699, used Communicate / Send email, loaded the email composer, and verified no email send request was submitted.
Raw evidence: raw/playwright/workflows/sales-invoice-prepare-email-20260519T213657Z.json and screenshots under assets/screenshots/sales-invoice-prepare-email-20260519T213657Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The saved FT view exposes Communicate with SMS, Whatsapp, Send email, and Copy document`s public link. |
| Email data | documents&option=body_email_data loaded template cli_documentos for invoice 999901699, document type FT, customer 910. |
| Recipients | The modal offered demo@example.com from the customer file and luis.santos@guisoft.net as collaborator in To, CC, and BCC selectors. |
| External-send boundary | No send-email, SMS, WhatsApp, document creation, payment, or stock request was submitted in the verified run. |
Detailed how-to: How to Prepare a Sales Invoice Email.
Sales Invoice SMS Preparation
Verified up to the send boundary: Workflow run sales-invoice-prepare-sms-20260519T214821Z opened saved invoice 999901699 / FT 9999/1699, used Communicate / SMS, loaded the SMS composer, and verified no SMS send request was submitted.
Raw evidence: raw/playwright/workflows/sales-invoice-prepare-sms-20260519T214821Z.json and screenshots under assets/screenshots/sales-invoice-prepare-sms-20260519T214821Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The saved FT view exposes Communicate with SMS, Whatsapp, Send email, and Copy document`s public link. |
| SMS template data | templates_sms&option=getTexto loaded template cli_documentos_ft for invoice 999901699, document type FT, customer 910. |
| Modal defaults | The modal selected language en, template id 32 / Liquidação das faturas pendentes, and message 100 Ouvidos Lda999901699. |
| Recipients | The verified customer had no SMS contact options in #select_sms; OfficeGest returned list_sms_contacts:[]. |
| External-send boundary | No SMS, email, WhatsApp, document creation, payment, or stock request was submitted in the verified run. |
Detailed how-to: How to Prepare a Sales Invoice SMS.
Sales Invoice WhatsApp Availability
Verified with caveat: Workflow run sales-invoice-whatsapp-availability-20260519T215335Z opened saved invoice 999901699 / FT 9999/1699, used Communicate / Whatsapp, and verified the demo account returned false for WhatsApp service availability.
Raw evidence: raw/playwright/workflows/sales-invoice-whatsapp-availability-20260519T215335Z.json and screenshots under assets/screenshots/sales-invoice-whatsapp-availability-20260519T215335Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The saved FT view exposes Communicate with SMS, Whatsapp, Send email, and Copy document`s public link. |
| Availability check | The WhatsApp click posted action=chatflow and option=has-whatsapp-service to /ajaxserver. |
| Demo response | The response body was false. |
| Composer state | No visible modal opened and #sendWhatsapp remained hidden. |
| External-send boundary | No WhatsApp, SMS, email, document creation, payment, or stock request was submitted in the verified run. |
Detailed how-to: How to Check Sales Invoice WhatsApp Availability.
Sales Invoice Duplicate Preparation
Verified up to the save boundary: Workflow run sales-invoice-prepare-duplicate-20260519T215925Z opened saved invoice 999901699 / FT 9999/1699, clicked Duplicate, verified the copied editable FT form, and confirmed no save request was submitted.
Raw evidence: raw/playwright/workflows/sales-invoice-prepare-duplicate-20260519T215925Z.json and screenshots under assets/screenshots/sales-invoice-prepare-duplicate-20260519T215925Z-*.png.
| Behavior | Observed detail |
|---|---|
| Action link | The saved FT view exposed Duplicate pointing to /vendas/ft/dupl/OTk5OTAxNjk5. |
| Copied customer | The duplicate form retained doc_CodTerc=910, 100 Ouvidos Lda, and VAT 509031862. |
| Copied line | listaTabDocumento returned one line for AI-DEMO-20260519-021105 with quantity 1, unit price 3, PVP=3.69, VAT 23, and total with VAT 3.69. |
| Advances | DT_Select_AdiantamentosClientes returned an available FR advance and OfficeGest opened the Advances modal. |
| Save boundary | No saveDocument, payment, print, communication, or stock request was submitted. |
Detailed how-to: How to Prepare a Duplicate Sales Invoice.
Sales Invoice Gift Card
Verified up to the save boundary: Workflow run sales-invoice-gift-card-20260520T024756Z applied disposable active gift certificate IG024756000001 through the FT Vale oferta modal and received a 1.00 discount value.
Raw evidence: raw/playwright/workflows/sales-invoice-gift-card-20260520T024756Z.json and screenshots under assets/screenshots/sales-invoice-gift-card-20260520T024756Z-*.png.
| Behavior | Observed detail |
|---|---|
| Control | #btnValeDesconto opened the Vale oferta modal with selector #numero_valeoferta. |
| Voucher selector | Sel2_Select_CRM_vales_oferta filtered vouchers by estado=ACT. |
| Apply result | retalho&option=save_valeoferta returned success:true and valor_desconto=1. |
| Boundary | The run stopped before final invoice save; no saveDocument, payment, print, or delete-document request was submitted. |
Detailed how-to: How to Apply a Gift Card to a Sales Invoice.
Sales Invoice Loyalty Card
Verified up to the discount boundary: Workflow run sales-invoice-loyalty-card-20260520T025748Z looked up loyalty card 509031862 for customer [910] 100 Ouvidos Lda, confirmed active account/card ids 13/10, and verified the demo stops loyalty discount insertion because Artigo para descontos is not configured.
Raw evidence: raw/playwright/workflows/sales-invoice-loyalty-card-20260520T025748Z.json and screenshots under assets/screenshots/sales-invoice-loyalty-card-20260520T025748Z-*.png.
| Behavior | Observed detail |
|---|---|
| Lookup control | #fideliz_Cartao and #fideliz_Cartao_btn submitted fidelizBuscaCartao. |
| Card state | The lookup returned success:true, card state A, owner customer 910, and qtd_pontos=0. |
| Discount boundary | fidelizacao&option=add_discount_card_line returned succeeded:false with the missing Artigo para descontos configuration message. |
| Boundary | The run stopped before final invoice save; no saveDocument, payment, print, or delete-document request was submitted. |
Detailed how-to: How to Use a Loyalty Card on a Sales Invoice.
Sales Invoice Customer Selection
Verified up to the save boundary: Workflow run sales-invoice-customer-selection-20260520T024003Z selected customer [910] 100 Ouvidos Lda on the FT create form and verified that OfficeGest populated billing identity and address fields.
Raw evidence: raw/playwright/workflows/sales-invoice-customer-selection-20260520T024003Z.json and screenshots under assets/screenshots/sales-invoice-customer-selection-20260520T024003Z-*.png.
| Behavior | Observed detail |
|---|---|
| Billing field | The FT create form uses #doc_CodTerc for the billing customer / Fact entity. |
| Lookup result | NameEntidades returned customer 910, 100 Ouvidos Lda, VAT 509031862, and activo:"T". |
| Populated fields | OfficeGest filled VAT, billing name, address, locality, postal code, country, and related commercial/customer checks. |
| Safety boundary | No saveDocument, saveRascunho, insertLinhaTabDoc, print, payment, or delete request was submitted. |
Detailed how-to: How to Select a Customer on a Sales Invoice.
Sales Invoice Portes
Verified up to the save boundary: Workflow run sales-invoice-portes-20260520T021905Z entered 5.00 in the FT Portes modal and verified OfficeGest added a temporary PORTES001 document line.
Raw evidence: raw/playwright/workflows/sales-invoice-portes-20260520T021905Z.json and screenshots under assets/screenshots/sales-invoice-portes-20260520T021905Z-*.png.
| Behavior | Observed detail |
|---|---|
| Control | #btn_Portes opened #modalPortes; #valPortes is the net shipping value input. |
| Added line | The grid changed from one base article line to two lines after saving the modal. |
| Portes article | The added row used CodArtigo=PORTES001, description PORTES, net value 5, VAT 23, and total with VAT 6.15. |
| Save boundary | No saveDocument, saveRascunho, print, payment, or delete request was submitted. |
Detailed how-to: How to Add Portes to a Sales Invoice.
Sales Invoice VAT and Totals
Verified read-only: Workflow run sales-invoice-totals-20260520T022740Z added one temporary FT line, read the visible VAT/totals panels, called create_document&option=calcular_totais, and stopped before any save or payment action.
Raw evidence: raw/playwright/workflows/sales-invoice-totals-20260520T022740Z.json and screenshots under assets/screenshots/sales-invoice-totals-20260520T022740Z-*.png.
| Behavior | Observed detail |
|---|---|
| VAT rates panel | Displayed 23,00%, incidence 1,60 EUR, and VAT value 0,37 EUR. |
| Totals panel | Displayed net 1,60 EUR, VAT 0,37 EUR, retention 0,00%, and total 1,97 EUR. |
| Backend calculation | calcular_totais returned table_ivas[23], iva=0.36777, retencao=0, and total=1.97. |
| Safety boundary | No saveDocument, saveRascunho, print, payment, or delete request was submitted. |
Detailed how-to: How to Read VAT Rates and Totals on a Sales Invoice.
Sales Invoice Article Search and Line Add
Verified up to the save boundary: Workflow run sales-invoice-article-search-line-20260520T023231Z searched the FT document-tab article field, selected the returned article, and verified the temporary line grid.
Raw evidence: raw/playwright/workflows/sales-invoice-article-search-line-20260520T023231Z.json and screenshots under assets/screenshots/sales-invoice-article-search-line-20260520T023231Z-*.png.
| Behavior | Observed detail |
|---|---|
| Search control | The document tab exposed #buscaArtigo. |
| Search term | The verified run typed AI-DEMO-20260519-021105 and captured article search traffic. |
| Inserted line | The grid contained AI-DEMO-20260519-021105, description AI Demo Article 20260519T021105Z, quantity 1, VAT 23, and total with VAT 1.96677. |
| Safety boundary | No saveDocument, saveRascunho, print, payment, or delete request was submitted. |
Detailed how-to: How to Search and Add an Article Line to a Sales Invoice.
Sales Invoice Attachments
Verified end to end: Workflow run sales-invoice-attachments-20260519T221119Z opened saved invoice 999901699 / FT 9999/1699, uploaded a disposable text attachment, verified the row, deleted it, and confirmed the attachment table was empty again.
Raw evidence: raw/playwright/workflows/sales-invoice-attachments-20260519T221119Z.json and screenshots under assets/screenshots/sales-invoice-attachments-20260519T221119Z-*.png.
| Behavior | Observed detail |
|---|---|
| Attachment surface | The saved FT view exposed Attachements, Upload file, and a file table with description, category, date, filename, MIME type, size, public flag, and row actions. |
| Upload binding | The Attach modal posted AceUpload with location=attachments, codterc=910, tipoterc=C, numdoc=999901699, and tipodoc=FT. |
| Upload result | The upload response returned {"ok":true,"num":193} and the table row showed the original text filename, text/plain, and the public flag. |
| Download result | A separate verified run clicked row Download, and the browser downloaded sales-invoice-download-attachment-20260519T222253Z.txt with the uploaded text content intact. |
| Delete result | The row delete action opened Are you sure you want to delete?; after OK, the table returned No data available in table. |
| Edit result | A separate verified run opened row Edit, saved editAttachment, changed the description to AI FT attachment edited 20260519T221820Z, and cleared the public flag to 0. |
| Safety boundary | No invoice save, payment, print, communication, stock, or line-edit request was submitted. |
Detailed how-tos: How to Manage Sales Invoice Attachments, How to Download a Sales Invoice Attachment, and How to Edit a Sales Invoice Attachment.
Sales Invoice Public Link
Verified end to end: Workflow run sales-invoice-copy-public-link-20260519T213057Z opened saved invoice 999901699 / FT 9999/1699, used Communicate / Copy document`s public link, copied a pdoc.officegest.com URL, and verified the public page showed the invoice and a download action.
Raw evidence: raw/playwright/workflows/sales-invoice-copy-public-link-20260519T213057Z.json and screenshots under assets/screenshots/sales-invoice-copy-public-link-20260519T213057Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The saved FT view exposes Communicate with SMS, Whatsapp, Send email, and Copy document`s public link. |
| Copy action | The click writes the embedded https://pdoc.officegest.com/rwsCRlSDlOXcA36UO7Y URL to the browser clipboard and shows a Successfully copied toast. |
| Public page | The copied URL returned status 200, title OfficeGest's Public Documents, invoice FT 9999/1699, customer 100 Ouvidos Lda, amount 3.69 EUR, and Download. |
| Side effects | No email, SMS, WhatsApp, document creation, payment, or stock action was submitted. |
Detailed how-to: How to Copy a Sales Invoice Public Link.
Public Sales Invoice PDF Download
Verified end to end: Workflow run public-sales-invoice-download-pdf-20260519T214219Z opened the public link for saved invoice 999901699 / FT 9999/1699, clicked Download, and verified the browser downloaded a valid PDF.
Raw evidence: raw/playwright/workflows/public-sales-invoice-download-pdf-20260519T214219Z.json, screenshot assets/screenshots/public-sales-invoice-download-pdf-20260519T214219Z-01-public-document-page.png, and downloaded artifact raw/playwright/downloads/public-sales-invoice-download-pdf-20260519T214219Z-FT 9999_1699.pdf.
| Behavior | Observed detail |
|---|---|
| Public URL | https://pdoc.officegest.com/rwsCRlSDlOXcA36UO7Y. |
| Metadata | getpublicdoc returned success:true, document FT 9999/1699, customer 100 Ouvidos Lda, total 3.69 EUR, and a PDF URL. |
| Downloaded file | Browser suggested filename FT 9999_1699.pdf. |
| PDF check | The file was 25990 bytes and started with a %PDF-1.7 header. |
| Action log | The public page posted {"action":"download","document_type":"FT","document_number":999901699,...} to /api/v2/sales/action-log; the download still completed when that unauthenticated log response returned 401. |
Detailed how-to: How to Download a Sales Invoice PDF from a Public Link.
Sales Invoice PDF Output
Verified end to end: Workflow run sales-invoice-print-pdf-20260519T212449Z opened saved invoice 999901699 / FT 9999/1699, used Print / PDF, generated FT 9999-1699.pdf, and verified the generated file downloaded as application/pdf.
Raw evidence: raw/playwright/workflows/sales-invoice-print-pdf-20260519T212449Z.json and screenshots under assets/screenshots/sales-invoice-print-pdf-20260519T212449Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The saved FT view exposes Print with PDF Original, PDF, PDF Signed, Printer, Print Talo, Offer, electronic invoicing choices, and Excel. |
| PDF action | #imprimirpdf posted action=imprimir, num=999901699, and tipoop=FT. |
| Generation response | {"success":true,"file":"FT 9999-1699.pdf"}. |
| Download check | /download/?docfl=... returned status 200, content type application/pdf, 25990 bytes, and a %PDF-1.7 header. |
Detailed how-to: How to Print or Download a Sales Invoice PDF.
Sales Invoice Line Gross Price
Verified end to end: Workflow run sales-invoice-line-gross-price-20260519T211156Z changed an FT line PVP to 3.69, saved 999901699 / FT 9999/1699, and verified the final line and list totals.
Raw evidence: raw/playwright/workflows/sales-invoice-line-gross-price-20260519T211156Z.json and screenshots under assets/screenshots/sales-invoice-line-gross-price-20260519T211156Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The gross price including VAT is stored as PVP. |
| Verified value | PVP=3.69. |
| Line edit | updateEditableTabDoc returned success for campo=PVP and value=3.69. |
| Final line | The saved FT view retained PVP=3.69, PrecoUni=3, ValorIVA=0.69, and TotalCIVA=3.69. |
| Invoice result | The FT list returned total 3.69, paid 0.00, and pending 3.69. |
Detailed how-to: How to Change a Line Gross Price on a Sales Invoice.
Sales Invoice Line Warehouse
Verified end to end: Workflow run sales-invoice-line-warehouse-20260519T203515Z changed the line warehouse from 1 to 2, saved 999901692 / FT 9999/1692, and verified the final line retained CodLoja=2.
Raw evidence: raw/playwright/workflows/sales-invoice-line-warehouse-20260519T203515Z.json and screenshots under assets/screenshots/sales-invoice-line-warehouse-20260519T203515Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line warehouse/store is stored as CodLoja. |
| Verified value | 2 / Armazém de Monos. |
| Line edit | updateEditableTabDoc returned success for campo=CodLoja and value=2. |
| Save prompts | Changing warehouse triggered Will move stock a different warehouse of your preference. Confirm? before the normal save confirmation. |
| Final line | The saved FT view retained CodLoja=2. |
Detailed how-to: How to Change a Line Warehouse on a Sales Invoice.
Sales Invoice Line VAT
Verified end to end: Workflow run sales-invoice-line-vat-20260519T204152Z changed an FT line VAT rate from 23 to 13, saved 999901693 / FT 9999/1693, and verified the final line and list totals.
Raw evidence: raw/playwright/workflows/sales-invoice-line-vat-20260519T204152Z.json and screenshots under assets/screenshots/sales-invoice-line-vat-20260519T204152Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line VAT rate is stored as IVA. |
| Verified value | 13, with lookup labels Reduzida 1 and Taxa 13%. |
| Line edit | updateEditableTabDoc returned success for campo=IVA and value=13. |
| Final line | The saved FT view retained IVA=13, ValorIVA=0.20787, and TotalCIVA=1.80687. |
| Invoice result | The FT list returned total 1.81, paid 0.00, and pending 1.81. |
Detailed how-to: How to Change a Line VAT Rate on a Sales Invoice.
Sales Invoice Line VAT Reason
Verified end to end: Workflow run sales-invoice-line-vat-reason-20260519T205716Z set line RI=7, saved 999901696 / FT 9999/1696, and verified the final line retained the VAT reason.
Raw evidence: raw/playwright/workflows/sales-invoice-line-vat-reason-20260519T205716Z.json and screenshots under assets/screenshots/sales-invoice-line-vat-reason-20260519T205716Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line VAT reason is stored as RI. |
| Verified value | 7 / [M07] Isento Artigo 9.º do CIVA. |
| Line edit | updateEditableTabDoc returned success for campo=RI and value=7. |
| Final line | The saved FT view retained RI=7, while IVA=23, ValorIVA=0.36777, and TotalCIVA=1.96677 stayed unchanged. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set a Line VAT Reason on a Sales Invoice.
Sales Invoice Line Cost Center
Verified end to end: Workflow run sales-invoice-line-cost-center-20260519T202424Z set line cod_centrocusto=0002, saved 999901690 / FT 9999/1690, and verified the final line retained the cost center.
Raw evidence: raw/playwright/workflows/sales-invoice-line-cost-center-20260519T202424Z.json and screenshots under assets/screenshots/sales-invoice-line-cost-center-20260519T202424Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line cost center is stored as cod_centrocusto. |
| Verified value | 0002 / [0002] Dep.Comercial. |
| Line edit | updateEditableTabDoc returned success for campo=cod_centrocusto and value=0002. |
| Final line | The saved FT view retained cod_centrocusto=0002. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set a Line Cost Center on a Sales Invoice.
Sales Invoice Line Accounting Classification
Verified end to end: Workflow run sales-invoice-line-accounting-classification-20260519T202853Z set line id_classifcontab=1, saved 999901691 / FT 9999/1691, and verified the final line retained the accounting classification.
Raw evidence: raw/playwright/workflows/sales-invoice-line-accounting-classification-20260519T202853Z.json and screenshots under assets/screenshots/sales-invoice-line-accounting-classification-20260519T202853Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable line field | The line accounting classification is stored as id_classifcontab. |
| Verified value | 1 / [1] Mercadorias. |
| Line edit | updateEditableTabDoc returned success for campo=id_classifcontab and value=1. |
| Final line | The saved FT view retained id_classifcontab=1. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set a Line Accounting Classification on a Sales Invoice.
Sales Invoice Global Discount
Verified end to end: Workflow run sales-invoice-global-discount-20260519T200434Z applied a 5% document discount, saved 999901686 / FT 9999/1686, and verified the final view and list total.
Raw evidence: raw/playwright/workflows/sales-invoice-global-discount-20260519T200434Z.json and screenshots under assets/screenshots/sales-invoice-global-discount-20260519T200434Z-*.png.
| Behavior | Observed detail |
|---|---|
| Editable document field | The first document-level discount is #doc_PerDesc, submitted as PerDesc. |
| Totals recalculation | create_document with option=calcular_totais recalculated totals using desconto1=5. |
| Before discount | Total discount 0.00 EUR, net total 1.60 EUR, VAT 0.37 EUR, final total 1.97 EUR. |
| After discount | Total discount 0.08 EUR, net total 1.52 EUR, VAT 0.35 EUR, final total 1.87 EUR. |
| Invoice result | The FT list returned total 1.87, paid 0.00, and pending 1.87. |
Detailed how-to: How to Apply a Global Discount on a Sales Invoice.
Sales Invoice Delivery Details
Verified end to end: Workflow run sales-invoice-delivery-method-20260519T200919Z set delivery method NV, vehicle AI-VAN-2026, loading and unloading fields, saved 999901687 / FT 9999/1687, and verified the final view retained delivery data.
Raw evidence: raw/playwright/workflows/sales-invoice-delivery-method-20260519T200919Z.json and screenshots under assets/screenshots/sales-invoice-delivery-method-20260519T200919Z-*.png.
| Behavior | Observed detail |
|---|---|
| Delivery method | #doc_CodModoExp accepted NV / Nossa Viatura. Other observed options were TRA and VV. |
| Vehicle | #doc_Viatura=AI-VAN-2026 persisted on the final FT view. |
| Loading fields | CargaMorada, CargaLocalidade, CargaCodPostal, CargaCodPais, and CargaData persisted. |
| Unloading fields | DescargaMorada, DescargaLocalidade, DescargaCodPostal, DescargaCodPais, DescargaData, and DescargaTime persisted. |
| Time nuance | The entered loading time 10:30 was saved as current form time 21:14; the unloading time 15:45 persisted as entered. |
Detailed how-to: How to Set Delivery Details on a Sales Invoice.
Sales Invoice Classification
Verified end to end: Workflow run sales-invoice-classification-20260519T201417Z selected CF / Cliente Final, saved 999901688 / FT 9999/1688, and verified the final view retained the classification.
Raw evidence: raw/playwright/workflows/sales-invoice-classification-20260519T201417Z.json and screenshots under assets/screenshots/sales-invoice-classification-20260519T201417Z-*.png.
| Behavior | Observed detail |
|---|---|
| Classification field | #doc_CodClassif stores the FT header classification. |
| Verified value | CodClassif=CF, label [CF] Cliente Final. |
| Available options | Observed options included CF, LJW1, LJW2, MIC001, MOTP01 through MOTP04, OFI001 through OFI003, and PME001. |
| Final save | The nested saveDocument form payload included CodClassif=CF. |
| Invoice result | The FT list returned total 1.97, paid 0.00, and pending 1.97. |
Detailed how-to: How to Set the Classification on a Sales Invoice.
Sales Invoice Currency
Verified end to end: Workflow run sales-invoice-currency-20260519T201838Z changed an FT from EUR to DOL, set exchange rate 1.1, saved 999901689 / FT 9999/1689, and verified the final view retained both values.
Raw evidence: raw/playwright/workflows/sales-invoice-currency-20260519T201838Z.json and screenshots under assets/screenshots/sales-invoice-currency-20260519T201838Z-*.png.
| Behavior | Observed detail |
|---|---|
| Currency field | #doc_CodMoeda stores the FT currency; default was EUR. |
| Exchange field | #doc_Cambio stores the exchange rate; default was 1. |
| Verified value | CodMoeda=DOL, label [DOL] DOLLAR T, and Cambio=1.1. |
| Final save | The nested saveDocument form payload included CodMoeda=DOL and Cambio=1.1. |
| Visible totals nuance | The final view and FT list still displayed the total as 1.97 with euro formatting in the verified run. |
Detailed how-to: How to Set Currency on a Sales Invoice.
Sales Invoice Billing Address
Verified end to end: Workflow run sales-invoice-billing-address-20260519T194417Z selected Other Addresses, entered a manual billing name and address, saved 999901682 / FT 9999/1682, and verified the FT list used the alternate billing name.
Raw evidence: raw/playwright/workflows/sales-invoice-billing-address-20260519T194417Z.json and screenshots under assets/screenshots/sales-invoice-billing-address-20260519T194417Z-*.png.
| Behavior | Observed detail |
|---|---|
| Default address | MoradaFact=-DEF loads the main customer billing name and address. |
| Alternate address | MoradaFact=-OTR unlocks the billing address fields for manual entry. |
| Final save | The nested saveDocument form payload included NomeFact, Morada, Localidade, CodPostal, and CodPais. |
| Final view nuance | The final view retained the alternate name/address fields even though the selector displayed -DEF again. |
| Invoice result | The FT list returned nomefact: AI Alternate Billing 20260519. |
Detailed how-to: How to Set the Billing Address on a Sales Invoice.
Sales Invoice Payment Terms
Verified end to end: Workflow run sales-invoice-payment-terms-20260519T193814Z changed an FT from PP to payment condition 30, saved 999901681 / FT 9999/1681, and verified the due date persisted.
Raw evidence: raw/playwright/workflows/sales-invoice-payment-terms-20260519T193814Z.json and screenshots under assets/screenshots/sales-invoice-payment-terms-20260519T193814Z-*.png.
| Behavior | Observed detail |
|---|---|
| Available terms | -, 10, 30, 45, 60, 90, PA, and PP. |
| Verified term | CodFormaPag=30, shown as 30 Dias. |
| Due date | DataLimitePaga=18/06/2026. |
| Final save | The nested saveDocument form payload included both CodFormaPag and DataLimitePaga. |
| Invoice result | The FT list returned ABR / Open and fpag: 30 Dias. |
Detailed how-to: How to Set Payment Terms and Due Date on a Sales Invoice.
Sales Invoice Vehicle Details
Verified end to end: Workflow run sales-invoice-vehicle-20260519T193202Z selected existing vehicle 75-XU-14 for customer 910, saved 999901680 / FT 9999/1680, and verified the vehicle data persisted.
Raw evidence: raw/playwright/workflows/sales-invoice-vehicle-20260519T193202Z.json and screenshots under assets/screenshots/sales-invoice-vehicle-20260519T193202Z-*.png.
| Behavior | Observed detail |
|---|---|
| Vehicle lookup | #doc_CodEquipExt calls Sel2_viaturas and filters active vehicles by selected customer owner or billing customer. |
| Verified vehicle | 75-XU-14, Honda, Vision, version 2018. |
| Kilometers | Previous km loaded as 3111111; current km 3111222 was entered and saved. |
| Final save | The nested saveDocument form payload included CodEquipExt, Marca, Modelo, Versao, ContKmAnt, ContKmAct, and imprimirviatura. |
| Invoice result | The FT list returned ABR / Open and exposed codequipext_c: 75-XU-14. |
Verified up to the save/print boundary: Read-only workflow run sales-invoice-vehicle-print-flag-20260520T020900Z confirmed Print vehicle data is checked by default on the FT create form, can be unchecked, and submitted no save, print, payment, line, or document request.
Detailed how-tos: How to Add Vehicle Details to a Sales Invoice and How to Hide Vehicle Details from a Sales Invoice Printout.
Sales Invoice Notes
Verified end to end: Workflow run sales-invoice-notes-20260519T192511Z created 999901679 / FT 9999/1679 with both a public document note and an internal note.
Raw evidence: raw/playwright/workflows/sales-invoice-notes-20260519T192511Z.json and screenshots under assets/screenshots/sales-invoice-notes-20260519T192511Z-*.png.
| Behavior | Observed detail |
|---|---|
| Public note field | The create form stores the document/customer note in #doc_Obs, submitted as Obs. |
| Internal note field | The create form stores the back-office note in #i_message2, submitted as Obs2. |
| Final save | The nested saveDocument form payload included both note values and returned 999901679 with OKDOC. |
| Persistence | The final FT view retained both values in the same fields. |
| Invoice result | The FT list returned ABR / Open, total 1.97, paid 0.00, pending 1.97. |
Detailed how-to: How to Add Notes to a Sales Invoice.
Discovered Document Types
| Label | Route | Exploration Status |
|---|---|---|
| Factura [FT] | /vendas/ft | Verified end-to-end creation, cancellation, list validation, and stock reversal on cancellation |
| Novo documento: Factura [FT] | /vendas/ft/create | Verified end-to-end creation |
| Fatura Simplificada [FS] | /vendas/fs | Verified end-to-end creation, payment, and list validation |
| Novo documento: Fatura Simplificada [FS] | /vendas/fs/create | Verified end-to-end creation |
| Factura / Recibo | /vendas/fr | Verified list page after invoice save |
| Novo documento: Factura / Recibo | /vendas/fr/create | Verified end-to-end creation |
| Encomenda | /vendas/enc | Verified end-to-end creation, cancellation, list validation, and customer-order quantity update |
| Novo documento: Encomenda | /vendas/enc/create | Verified end-to-end creation |
| Orçamento | /vendas/orc | Verified end-to-end creation, cancellation, and list validation |
| Novo documento: Orçamento | /vendas/orc/create | Verified end-to-end creation |
| Fatura Pro-Forma [FP] | /vendas/fp | Verified end-to-end creation, cancellation, conversion, and list validation |
| Novo documento: Fatura Pro-Forma [FP] | /vendas/fp/create | Verified end-to-end creation |
| Recibo | /vendas/r | Verified end-to-end creation and source invoice settlement |
| Novo documento: Recibo | /vendas/r/create | Verified end-to-end creation |
| Receipt Reversal [RE] | /vendas/re | Verified end-to-end creation and source credit note settlement |
| Novo documento: Receipt Reversal [RE] | /vendas/re/create | Verified end-to-end creation |
| Credit Note [NC] | /vendas/nc | Verified end-to-end creation from source FS, creation from FT view, cancellation, stock reversal, and list validation |
| Novo documento: Credit Note [NC] | /vendas/nc/create | Verified end-to-end creation |
| Debit Note [ND] | /vendas/nd | Verified end-to-end creation from source FT, cancellation, and list validation |
| Novo documento: Debit Note [ND] | /vendas/nd/create | Verified end-to-end creation |
| Shipping Doc [GR] | /vendas/gr | Verified end-to-end creation, list validation, and stock update |
| Novo documento: Shipping Doc [GR] | /vendas/gr/create | Verified end-to-end creation |
| Transportation Note [GT] | /vendas/gt | Verified end-to-end creation, list validation, and unchanged stock |
| Novo documento: Transportation Note [GT] | /vendas/gt/create | Verified end-to-end creation |
| Transportation Note [GIP] | /vendas/gip | Verified end-to-end creation, list validation, and stock update into negative stock |
| Novo documento: Transportation Note [GIP] | /vendas/gip/create | Verified end-to-end creation |
| Asset Movement Guide [GA] | /vendas/ga | Verified end-to-end creation, list validation, and source-to-destination stock movement |
| Novo documento: Asset Movement Guide [GA] | /vendas/ga/create | Verified end-to-end creation |
| Guide to the supplier [NGT] | /vendas/ngt | Verified end-to-end creation, list validation, supplier entity context, and stock update |
| Novo documento: Guide to the supplier [NGT] | /vendas/ngt/create | Verified end-to-end creation |
| Guide consignao [GC] | /vendas/gc | Verified end-to-end creation, list validation, customer consignment context, and stock update |
| Novo documento: Guide consignao [GC] | /vendas/gc/create | Verified end-to-end creation |
| Separation guide [GSA] | /vendas/gsa | Verified end-to-end creation, list validation, origin/destination warehouse context, and no immediate stock update |
| Novo documento: Separation guide [GSA] | /vendas/gsa/create | Verified end-to-end creation |
| Internal Doc [GS] | /vendas/gs | Verified end-to-end creation, list validation, and customer-order quantity update without physical stock movement |
| Novo documento: Internal Doc [GS] | /vendas/gs/create | Verified end-to-end creation |
| C. Interno [CI] | /vendas/ci | Verified end-to-end creation, vehicle/entity context, list validation, and stock reduction |
| Novo documento: C. Interno [CI] | /vendas/ci/create | Verified end-to-end creation |
| Recuperacao [FTM] | /vendas/ftm | Verified end-to-end creation, vehicle/entity context, list validation, and stock reduction |
| Novo documento: Recuperacao [FTM] | /vendas/ftm/create | Verified end-to-end creation |
| Reparacao Molde [OR] | /vendas/or | Verified end-to-end creation, list validation, and customer-order quantity update without physical stock movement |
| Novo documento: Reparacao Molde [OR] | /vendas/or/create | Verified end-to-end creation |
| Damages [RMA] | /vendas/rma | Verified end-to-end creation, list validation, and customer-order quantity update without physical stock movement |
| Novo documento: Damages [RMA] | /vendas/rma/create | Verified end-to-end creation |
| Lot Printing | /vendas/impreslote | Verified filter behavior and print-batch list loading; final print not clicked |
| Batch Billing | /vendas/faturacaolote | Verified page controls and default filter behavior; final invoice/email action not clicked |
Sales Utility Pages
Filter behavior verified: /vendas/impreslote and /vendas/faturacaolote were probed with Playwright. Both pages are operational utilities, so the final side-effect buttons were intentionally not clicked.
| Page | Observed controls | Observed backend behavior | How-to |
|---|---|---|---|
Lot Printing/vendas/impreslote |
Customers, Sellers, date type radio buttons, date/time range, NSerie, tipoDoc, tipo_impressao, inicial, final, checked agrupar, and table search fields. |
listaImpresLote returned 9 default CI rows and changed the button to Print(9). The page script configures final imprimir with selected documents, grouping, print type, and em_lote=T. |
How to Use Lot Printing |
Batch Billing/vendas/faturacaolote |
Customers, Sellers, date range, NSerie, tipoDoc, agrupar, nao_processar_adiant, select_all, table search fields, and required modal series field serieDoc. |
The default filter returned no eligible rows and left the button at Invoice & Send email(0). The page script configures final faturar_lote with selected docs, document type, grouping, and target series. |
How to Use Batch Billing |
Pro-Forma Invoice Creation Page
Verified route, save, and cancellation: /vendas/fp/create. Page title: OG - ´´Pro-Forma´´ Invoice [FP]. Workflow run proforma-invoice-fp-20260520T002252Z created open pro-forma invoice FP 9999/66. Cancellation run cancel-proforma-invoice-fp-20260520T002319Z cancelled FP 9999/66 and left stock unchanged.
Raw evidence: raw/playwright/workflows/proforma-invoice-fp-20260520T002252Z.json and screenshots under assets/screenshots/proforma-invoice-fp-20260520T002252Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Customer | Customer 910, 100 Ouvidos Lda, was accepted with VAT 509031862. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%. The line was allowed with physical stock -41. |
| Final save | saveDocument returned 999900066%OK&=&OKDOC&=& and opened /vendas/fp/view/OTk5OTAwMDY2. |
| Pro-forma state | The FP list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-FP-20260520T002252Z. |
| Stock/order effect | Warehouse 1 physical stock stayed unchanged at -41. |
Detailed how-to: How to Create a Pro-Forma Invoice.
Pro-Forma Invoice Cancellation
Verified end to end: /vendas/fp/view/OTk5OTAwMDY2 exposed the red cancellation action. Workflow run cancel-proforma-invoice-fp-20260520T002319Z selected cancellation reason 1 / Erro de faturacao, confirmed the irreversible dialog, and posted deleteDocument for 999900066 / FP 9999/66.
Raw evidence: raw/playwright/workflows/cancel-proforma-invoice-fp-20260520T002319Z.json and screenshots under assets/screenshots/cancel-proforma-invoice-fp-20260520T002319Z-*.png.
| Behavior | Observed detail |
|---|---|
| Cancellation permission | podeAnularDoc with num=999900066 and tipoop=FP returned succeeded:true. |
| Cancellation reason | The reason list used motivos_docs with is_anulacao=1 and activo=1; the verified run used id_motivo_anulacao=1, Erro de faturacao. |
| Final FP state | The FP list returned ANU / Canceled, total 1.97, ValorPago=0, and pending value 1.97. |
| Stock effect | Warehouse 1 stock for article AI-DEMO-20260519-021105 stayed -41. |
Detailed how-to: How to Cancel a Pro-Forma Invoice.
Converted Pro-Forma Invoice Draft Finalization
Verified end to end: /vendas/fp/view/OTk5OTAwMDYz exposed To convert options for Invoice, Invoice / Receipt, and Internal Doc. The verified Invoice path created FT draft 463 and saved it as final invoice 999901670 / FT 9999/1670. The final FT invoice remained open and unpaid.
Raw evidence: raw/playwright/workflows/finalize-converted-proforma-invoice-draft-20260519T170759Z.json and screenshots under assets/screenshots/finalize-converted-proforma-invoice-draft-20260519T170759Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source pro-forma | Created and converted 999900063 / FP 9999/63. |
| Visible conversion options | Invoice calls facturar('ft'); the same menu also showed Invoice / Receipt and Internal Doc. |
| Draft source metadata | The FT draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900063, tipodocori=FP, linhandocori=1. |
| Final save | saveDocument returned {"return":"999901670%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice | OfficeGest opened /vendas/ft/view/OTk5OTAxNjcw with title OG - FT 9999/1670. |
| Final state | The FT list returned ABR / Open, total 1.97, and ValorPago=0. |
Detailed how-to: How to Finalize a Converted Pro-Forma Invoice Draft.
Converted Pro-Forma Invoice / Receipt Draft Finalization
Verified end to end: /vendas/fp/view/OTk5OTAwMDY0 converted source pro-forma FP 9999/64 to FR draft 463, accepted payment, and saved it as final invoice / receipt 999900844 / FR 9999/844. The final FR document was finished and paid.
Raw evidence: raw/playwright/workflows/finalize-converted-proforma-invoice-receipt-draft-20260519T171230Z.json and screenshots under assets/screenshots/finalize-converted-proforma-invoice-receipt-draft-20260519T171230Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source pro-forma | Created and converted 999900064 / FP 9999/64. |
| Draft source metadata | The FR draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900064, tipodocori=FP, linhandocori=1. |
| Payment | The Payment modal accepted [NUM] Numerário for total 1.97. |
| Final save | saveDocument returned {"return":"999900844%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice / receipt | OfficeGest opened /vendas/fr/view/OTk5OTAwODQ0 with title OG - FR 9999/844. |
| Final state | The FR list returned LIQ / Finished, total 1.97, and ValorPago=1.97. |
Detailed how-to: How to Finalize a Converted Pro-Forma Invoice / Receipt Draft.
Converted Pro-Forma Sales Order Draft Finalization
Verified end to end: /vendas/fp/view/OTk5OTAwMDY1 converted source pro-forma FP 9999/65 to ENC draft 463 and saved it as final sales order 999900109 / ENC 9999/109. The final ENC order remained open and unpaid.
Raw evidence: raw/playwright/workflows/finalize-converted-proforma-sales-order-draft-20260519T171841Z.json and screenshots under assets/screenshots/finalize-converted-proforma-sales-order-draft-20260519T171841Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source pro-forma | Created and converted 999900065 / FP 9999/65. |
| Draft source metadata | The ENC draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900065, tipodocori=FP, linhandocori=1. |
| Final save | saveDocument returned {"return":"999900109%&=&OKDOC&=&","print_documents":[]}. |
| Final sales order | OfficeGest opened /vendas/enc/view/OTk5OTAwMTA5 with title OG - ENC 9999/109. |
| Final state | The ENC list returned ABR / Open, total 1.97, and ValorPago=0. |
Detailed how-to: How to Finalize a Converted Pro-Forma Sales Order Draft.
Simplified Invoice Creation Page
Verified route and save: /vendas/fs/create. Page title: OG - Simplified invoice [FS]. Workflow run simplified-invoice-fs-20260519T043414Z created finished, paid simplified invoice FS 9999/8. Payment edge cases are also verified: split payment NUM 1.00 plus TRA 0.97 saved FS 9999/11, NUM 1.00 corrected to 1.97 saved FS 9999/10, NUM 2.00 against total 1.97 returned troco:0.03 and saved FS 9999/9, and row deletion removed NUM 1.97 before save with no stock movement.
Raw evidence: raw/playwright/workflows/simplified-invoice-fs-20260519T043414Z.json and screenshots under assets/screenshots/simplified-invoice-fs-20260519T043414Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft and End. Ending without payment opens the Payment modal. |
| Customer | Customer 910, 100 Ouvidos Lda, was accepted with VAT 509031862. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%. |
| Payment | payment&option=add added [NUM] Numerário for 1.97; payment&option=validate returned valid:true and troco=0. |
| Final save | saveDocument returned 999900008%OK&=&OKDOC&=& and opened /vendas/fs/view/OTk5OTAwMDA4. |
| Final state | The FS list returned LIQ / Finished, ValorPago=1.97, pending 0.00, total 1.97, and reference AI-FS-20260519T043414Z. |
| Stock effect | Warehouse 1 physical stock changed from 1 to 0. |
Detailed how-to: How to Create a Simplified Invoice. Split-payment how-to: How to Create a Simplified Invoice with Split Payment. Partial-payment how-to: How to Fix a Partial Payment on a Simplified Invoice. Overpayment how-to: How to Handle Overpayment on a Simplified Invoice. Payment row deletion how-to: How to Delete a Payment Row from a Simplified Invoice.
Receipt Creation Page
Verified route and save: /vendas/r/create. Page title: OG - Receipt [R]. Workflow run receipt-r-20260519T042639Z created closed receipt R 9999/245 and settled invoice FT 9999/1666. Invoice-view receipt creation is also verified: run sales-invoice-to-receipt-20260519T174312Z preloaded FT 9999/1675 and created R 9999/246. Split-payment settlement is verified: run receipt-r-split-payment-20260519T230946Z created R 9999/247 with NUM 1.00 plus TRA 0.97 and settled FT 9999/1701. Overpayment is verified: run receipt-r-overpayment-20260519T231638Z created R 9999/248 with NUM 2.00, change 0.03, and settled FT 9999/1702. Payment-row deletion is verified: run receipt-r-delete-payment-row-20260519T232158Z removed NUM 1.97 before save and left FT 9999/1703 open. Partial-payment validation is verified: run receipt-r-partial-payment-validation-20260519T232700Z blocked NUM 1.00 and left FT 9999/1704 open. Partial-payment correction is verified: run receipt-r-fix-partial-payment-20260519T233330Z edited the same row to 1.97, saved R 9999/249, and settled FT 9999/1705. Cancellation is verified: run cancel-receipt-r-20260519T235225Z cancelled R 9999/250 and reopened FT 9999/1706.
Raw evidence: raw/playwright/vendas-r-create-probe.json, raw/playwright/workflows/receipt-r-20260519T042639Z.json, recovery verifier raw/playwright/workflows/receipt-r-20260519T042639Z-recovery.json, and screenshots under assets/screenshots/receipt-r-20260519T042639Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document | Open invoice 999901666 / FT 9999/1666, total 1.97, pending 1.97. |
| Pending document selection | changeEstadoRecibo moved only the source FT row into Documents. |
| Payment | payment&option=add added [NUM] Numerário for 1.97. |
| Final save | saveDocumentRecibo returned 999900245&=&OKDOC&=&&=&OKDOC&=& and opened /vendas/r/view/OTk5OTAwMjQ1. |
| Receipt state | The R list returned F / Closed, total 1.97, customer 910. |
| Invoice result | The source FT invoice changed to LIQ / Finished with ValorPago=1.97 and pending 0.00. |
Detailed how-to: How to Create a Receipt. Partial-payment how-tos: How to Handle a Partial Payment on a Receipt and How to Fix a Partial Payment on a Receipt. Split-payment how-to: How to Create a Receipt with Split Payment. Overpayment how-to: How to Handle Overpayment on a Receipt. Payment row deletion how-to: How to Delete a Payment Row from a Receipt. Cancellation how-to: How to Cancel a Receipt. Invoice-view path: How to Create a Receipt from a Sales Invoice.
Receipt Cancellation
Verified end to end: Workflow run cancel-receipt-r-20260519T235225Z created closed receipt 999900250 / R 9999/250, cancelled it with reason Erro de faturacao, and verified the receipt list state became ANU / Canceled.
The verified cancellation reversed the settlement: source invoice 999901706 / FT 9999/1706 changed from LIQ / Finished with ValorPago=1.97 back to ABR / Open with ValorPago=0 and pending value 1.97.
Detailed how-to: How to Cancel a Receipt.
Receipt Partial Payment Validation
Verified end to end: Workflow run receipt-r-partial-payment-validation-20260519T232700Z selected open invoice 999901704 / FT 9999/1704, added NUM 1.00 against a 1.97 selected balance, clicked the payment modal save action, and confirmed OfficeGest blocked final save.
Raw evidence: raw/playwright/workflows/receipt-r-partial-payment-validation-20260519T232700Z.json and screenshots under assets/screenshots/receipt-r-partial-payment-validation-20260519T232700Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document selection | changeEstadoRecibo moved source FT 9999/1704 from Outstanding documents to Documents. |
| Payment row | payment&option=add created NUM 1.00. |
| Payment validation | payment&option=validate returned valid:false and troco:-0.97. |
| Modal result | The payment form remained populated with NUM 1.00 and payment total 1.00. |
| Save boundary | No saveDocumentRecibo request and no OKDOC response were captured. |
| Source invoice result | FT 9999/1704 stayed ABR / Open with ValorPago=0 and pending value 1.97. |
Detailed how-to: How to Handle a Partial Payment on a Receipt.
Receipt Partial Payment Correction
Verified end to end: Workflow run receipt-r-fix-partial-payment-20260519T233330Z selected open invoice 999901705 / FT 9999/1705, added NUM 1.00, received the short-payment warning, edited the same row to 1.97, and saved 999900249 / R 9999/249.
Raw evidence: raw/playwright/workflows/receipt-r-fix-partial-payment-20260519T233330Z.json and screenshots under assets/screenshots/receipt-r-fix-partial-payment-20260519T233330Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document selection | changeEstadoRecibo moved source FT 9999/1705 from Outstanding documents to Documents. |
| Short payment validation | payment&option=validate first returned valid:false and troco:-0.97 for NUM 1.00 against selected total 1.97. |
| Correction | The existing payment row input was edited to 1.97, and #payment_total changed to 1.97. |
| Final validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocumentRecibo returned OKDOC and redirected to /vendas/r/view/OTk5OTAwMjQ5. |
| Receipt and invoice result | R 9999/249 was F / Closed, and FT 9999/1705 became LIQ / Finished with pending value 0.00. |
Detailed how-to: How to Fix a Partial Payment on a Receipt.
Receipt Split Payment
Verified end to end: Workflow run receipt-r-split-payment-20260519T230946Z selected open invoice 999901701 / FT 9999/1701, added two receipt payment rows, and saved 999900247 / R 9999/247.
Raw evidence: raw/playwright/workflows/receipt-r-split-payment-20260519T230946Z.json and screenshots under assets/screenshots/receipt-r-split-payment-20260519T230946Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document selection | changeEstadoRecibo moved source FT 9999/1701 from Outstanding documents to Documents. |
| Payment rows | payment&option=add created NUM 1.00, then TRA 0.97. |
| Payment validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocumentRecibo returned OKDOC and redirected to /vendas/r/view/OTk5OTAwMjQ3. |
| Receipt list result | The R list returned R 9999/247 as F / Closed with total 1.97. |
| Source invoice result | FT 9999/1701 became LIQ / Finished with ValorPago=1.97 and pending value 0.00. |
Detailed how-to: How to Create a Receipt with Split Payment.
Receipt Overpayment
Verified end to end: Workflow run receipt-r-overpayment-20260519T231638Z selected open invoice 999901702 / FT 9999/1702, entered a NUM 2.00 cash payment against a 1.97 value to pay, and saved 999900248 / R 9999/248.
Raw evidence: raw/playwright/workflows/receipt-r-overpayment-20260519T231638Z.json and screenshots under assets/screenshots/receipt-r-overpayment-20260519T231638Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document selection | changeEstadoRecibo moved source FT 9999/1702 from Outstanding documents to Documents. |
| Payment row | payment&option=add created NUM 2.00. |
| Payment validation | payment&option=validate returned valid:true and troco:0.03. |
| Final save | saveDocumentRecibo returned OKDOC and redirected to /vendas/r/view/OTk5OTAwMjQ4. |
| Receipt list result | The R list returned R 9999/248 as F / Closed with total 1.97. |
| Source invoice result | FT 9999/1702 became LIQ / Finished with ValorPago=1.97 and pending value 0.00. |
Detailed how-to: How to Handle Overpayment on a Receipt.
Receipt Payment Row Deletion
Verified up to the save boundary: Workflow run receipt-r-delete-payment-row-20260519T232158Z selected open invoice 999901703 / FT 9999/1703, added NUM 1.97, deleted that payment row, and confirmed no receipt was saved.
Raw evidence: raw/playwright/workflows/receipt-r-delete-payment-row-20260519T232158Z.json and screenshots under assets/screenshots/receipt-r-delete-payment-row-20260519T232158Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document selection | changeEstadoRecibo moved source FT 9999/1703 from Outstanding documents to Documents. |
| Payment add | payment&option=add created NUM 1.97 with one row delete button. |
| Payment delete | payment&option=delete used payment table 55797, nseq=1, and total 1.97. |
| Modal result | The payment form became empty and #payment_total returned to 0. |
| Save boundary | No saveDocumentRecibo request and no OKDOC response were captured. |
| Source invoice result | FT 9999/1703 stayed ABR / Open with ValorPago=0 and pending value 1.97. |
Detailed how-to: How to Delete a Payment Row from a Receipt.
Receipt No Documents Validation
Verified end to end: Workflow run receipt-no-documents-validation-20260519T191736Z selected customer 910 on /vendas/r/create, left the Documents grid empty, clicked End, and confirmed OfficeGest blocked the save.
Raw evidence: raw/playwright/workflows/receipt-no-documents-validation-20260519T191736Z.json and screenshots under assets/screenshots/receipt-no-documents-validation-20260519T191736Z-*.png.
| Behavior | Observed detail |
|---|---|
| Receipt state | Customer 910 selected; Documents / DocsAPagar had zero rows. |
| Validation message | Visible toast showed ErrorNo lines. |
| Navigation | OfficeGest stayed on /vendas/r/create. |
| Final save | No saveDocumentRecibo request was submitted. |
| Recovery | Select at least one pending document and move it into Documents before adding payment and saving. |
Detailed how-to: How to Handle the Receipt No Lines Error.
Sales Invoice to Receipt Conversion
Verified end to end: /vendas/ft/view/OTk5OTAxNjc1 exposed To convert / Receipt. Workflow run sales-invoice-to-receipt-20260519T174312Z opened /vendas/r/create with source invoice 999901675 / FT 9999/1675 preloaded, added a cash payment, and finalized 999900246 / R 9999/246.
Raw evidence: raw/playwright/workflows/sales-invoice-to-receipt-20260519T174312Z.json and screenshots under assets/screenshots/sales-invoice-to-receipt-20260519T174312Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The FT view posts to /vendas/r/create with copy=1, codterc_copy=910, num_copy=999901675, and tipoop_copy=FT. |
| Preloaded receipt document | The Documents grid contained exactly source FT 9999/1675, total 1.97, value to pay 1.97, and estado=T. |
| Pending documents | Other open customer documents remained in Outstanding documents and were not automatically settled. |
| Payment | The verified run added [NUM] Numerario for 1.97; validation returned change 0. |
| Final receipt state | The R list returned F / Closed and total 1.97. |
| Source FT state | The source FT list row changed to LIQ / Finished, ValorPago=1.97, and pending value 0.00. |
Detailed how-to: How to Create a Receipt from a Sales Invoice.
Deferred Receipt RP Creation Page
Verified route and save: /vendas/rp/create. Page title: OG - Deferred receipt [RP]. Workflow run deferred-receipt-rp-20260519T065002Z created open deferred receipt RP 9999/9 and settled invoice FT 9999/1667.
Raw evidence: raw/playwright/vendas-rp-create-probe.json, raw/playwright/workflows/deferred-receipt-rp-20260519T065002Z.json, and screenshots under assets/screenshots/deferred-receipt-rp-20260519T065002Z-*.png.
| Behavior | Observed detail |
|---|---|
| Route/list identity | RP uses /vendas/rp, list table DocumRP, typesaft=RG, tipoop=RP, oficinas=F, recibo=T, and actualizacc=T. |
| Primary actions | Liquidate moves selected pending documents to the payment grid; End runs the final receipt save. |
| Form tabs | The create page includes Entity, Details, Recomendations, and Document. |
| Source document | Open invoice 999901667 / FT 9999/1667, total 1.97, pending 1.97, due date 20/05/2026. |
| Pending document selection | changeEstadoRecibo moved only the source FT row into Documents. |
| Payment | payment&option=add added [NUM] Numerario for 1.97, inbox [0] Caixa 0. |
| Final save | saveDocumentRecibo returned 999900009&=&OKDOC&=&&=&OKDOC&=&. |
| RP state | The RP list returned ABR / Open, total 1.97, ValorPago=0, and pending value 1.97. |
| Invoice result | The source FT invoice changed to LIQ / Finished with ValorPago=1.97 and pending 0.00. |
Detailed how-to: How to Create a Deferred Receipt RP.
Receipt Reversal Creation Page
Verified route and save: /vendas/re/create. Page title: OG - Receipt Reversal [RE]. Workflow run receipt-reversal-re-20260519T044549Z created closed reversal RE 9999/14 and settled credit note NC 9999/58. Cancellation is also verified: run cancel-receipt-reversal-re-20260520T000325Z cancelled RE 9999/15 and reopened source NC 9999/62.
Raw evidence: raw/playwright/vendas-re-create-probe.json, raw/playwright/workflows/receipt-reversal-re-20260519T044549Z.json, and screenshots under assets/screenshots/receipt-reversal-re-20260519T044549Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document | Open credit note 999900058 / NC 9999/58, total 74.91, pending 74.91, reference FR 2026/1. |
| Pending document selection | changeEstadoRecibo moved only the source NC row into Documents. |
| Payment | payment&option=add added [NUM] Numerário for 74.91, and validation allowed saving with troco=0. |
| Final save | saveDocumentRecibo returned 999900014&=&OKDOC&=&&=&OKDOC&=& and opened /vendas/re/view/OTk5OTAwMDE0. |
| Reversal state | The RE list returned F / Closed and total 74.91. The list row still displayed pending 74,91, so the source document state is the stronger settlement check. |
| Credit note result | The source NC credit note changed to LIQ / Finished with ValorPago=74.91 and pending 0.00. |
Detailed how-to: How to Create a Receipt Reversal. Cancellation how-to: How to Cancel a Receipt Reversal.
Receipt Reversal Cancellation
Verified end to end: Workflow run cancel-receipt-reversal-re-20260520T000325Z created closed reversal 999900015 / RE 9999/15, cancelled it with reason Erro de faturacao, and verified the RE list state became ANU / Canceled.
The verified cancellation reversed the settlement: source credit note 999900062 / NC 9999/62 changed from LIQ / Finished with ValorPago=1.97 back to ABR / Open with ValorPago=0 and pending value 1.97.
Detailed how-to: How to Cancel a Receipt Reversal.
Credit Note Creation Page
Verified route, save, and cancellation: /vendas/nc/create. Page title: OfficeGest with visible document label Credit note. Workflow run credit-note-nc-20260519T050026Z created open credit note NC 9999/59 from source simplified invoice FS 9999/8. Cancellation run cancel-credit-note-nc-20260520T000825Z cancelled NC 9999/62, left source FS 9999/14 finished and paid, and reversed the NC stock effect.
Raw evidence: raw/playwright/vendas-nc-create-probe.json, raw/playwright/vendas-nc-associate-fs-probe.json, raw/playwright/workflows/credit-note-nc-20260519T050026Z.json, and screenshots under assets/screenshots/credit-note-nc-20260519T050026Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document association | The Holding-Source menu exposes [FR] Invoice / Receipt, [FS] Simplified invoice, [FT] Invoice, [NV] Note Devolução, and [VD] Cash Sales. The verified run selected FS 9999/8. |
| Reason | The reason field is mandatory. It loads from motivos_docs with is_nc=1; the verified run used 1, Erro de faturação. |
| Associated line | associar_documento option=save_linhas copied source line 1 from FS 9999/8: article AI-DEMO-20260519-021105, quantity 1, price 1.60, VAT 23%. |
| Final save | saveDocument returned 999900059%OK&=&OKDOC&=& and opened /vendas/nc/view/OTk5OTAwMDU5. |
| Credit note state | The NC list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97. |
| Source result | After save, the FS association list for customer 910 returned no source documents, so FS 9999/8 was no longer creditable through this NC flow. |
| Stock effect | Warehouse 1 stock for the demo article changed from 0 to 1. |
Detailed how-to: How to Create a Credit Note. Invoice-view path: How to Convert a Sales Invoice to a Credit Note.
Credit Note Cancellation
Verified end to end: /vendas/nc/view/OTk5OTAwMDYy exposed the red cancellation action. Workflow run cancel-credit-note-nc-20260520T000825Z selected cancellation reason 1 / Erro de faturacao, confirmed the irreversible dialog, and posted deleteDocument for 999900062 / NC 9999/62.
Raw evidence: raw/playwright/workflows/cancel-credit-note-nc-20260520T000825Z.json and screenshots under assets/screenshots/cancel-credit-note-nc-20260520T000825Z-*.png.
| Behavior | Observed detail |
|---|---|
| Cancellation permission | podeAnularDoc with num=999900062 and tipoop=NC returned succeeded:true. |
| Cancellation reason | The reason list used motivos_docs with is_anulacao=1 and activo=1; the verified run used id_motivo_anulacao=1, Erro de faturacao. |
| Final NC state | The NC list returned ANU / Canceled, total 1.97, ValorPago=0, and pending value 1.97. |
| Source FS result | Source 999900014 / FS 9999/14 stayed LIQ / Finished with ValorPago=1.97 and pending value 0.00. |
| Stock effect | Warehouse 1 stock for article AI-DEMO-20260519-021105 moved from -39 to -40, reversing the stock increase created by the credit note. |
Detailed how-to: How to Cancel a Credit Note.
Sales Invoice to Credit Note Conversion
Verified end to end: /vendas/ft/view/OTk5OTAxNjc0 exposed To convert / Credit note. Workflow run sales-invoice-to-credit-note-20260519T173701Z copied source invoice 999901674 / FT 9999/1674 into NC create, saved the associated line, and finalized 999900061 / NC 9999/61.
Raw evidence: raw/playwright/workflows/sales-invoice-to-credit-note-20260519T173701Z.json and screenshots under assets/screenshots/sales-invoice-to-credit-note-20260519T173701Z-*.png.
| Behavior | Observed detail |
|---|---|
| View action | The FT view posts to /vendas/nc/create with copy=1, num_copy=999901674, and tipoop_copy=FT. |
| Association modal | The NC create page opened Associate documents: Invoice with source FT 9999/1674 preselected and line 1 available. |
| Reason | The verified run selected id_motivo=1, Erro de faturacao. |
| Copied line | The NC draft kept ndocori=999901674, tipodocori=FT, linhandocori=1, article AI-DEMO-20260519-021105, quantity 1, and total 1.97. |
| Final NC state | The NC list returned ABR / Open, total 1.97, ValorPago=0, pending 1.97. |
| Source FT state | The source FT list row remained ABR / Open after the NC was saved. |
| Stock effect | FT reduced warehouse 1 stock from 0 to -1; the NC restored it to 0. |
Detailed how-to: How to Convert a Sales Invoice to a Credit Note.
Debit Note Creation Page
Verified route, save, and cancellation: /vendas/nd/create. Page title: OfficeGest with visible document label Note debit. Workflow run debit-note-nd-20260520T001537Z created open debit note ND 9999/5 from source invoice FT 9999/1707. Cancellation run cancel-debit-note-nd-20260520T001612Z cancelled ND 9999/5, left the source FT open and unpaid, and left stock unchanged.
Raw evidence: raw/playwright/vendas-nd-create-probe.json, raw/playwright/workflows/debit-note-nd-20260520T001537Z.json, and screenshots under assets/screenshots/debit-note-nd-20260520T001537Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source document association | The source menu exposes [FR] Invoice / Receipt, [FS] Simplified invoice, [FT] Invoice, and [VD] Cash Sales. The verified run selected FT 9999/1707. |
| Reason | No id_motivo reason field was present on the verified ND create page, unlike NC. |
| Associated line | associar_documento option=save_linhas copied source line 1 from FT 9999/1707: article AI-DEMO-20260519-021105, quantity 1, price 1.60, VAT 23%. |
| Final save | saveDocument returned 999900005%OK&=&OKDOC&=& and opened /vendas/nd/view/OTk5OTAwMDA1. |
| Debit note state | The ND list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97. |
| Source result | The source FT invoice stayed ABR / Open, paid 0.00, pending 1.97. |
| Stock effect | Warehouse 1 stock for the demo article stayed -41 after the ND was saved, matching the configuration that ND does not update stock. |
Detailed how-to: How to Create a Debit Note.
Debit Note Cancellation
Verified end to end: /vendas/nd/view/OTk5OTAwMDA1 exposed the red cancellation action. Workflow run cancel-debit-note-nd-20260520T001612Z selected cancellation reason 1 / Erro de faturacao, confirmed the irreversible dialog, and posted deleteDocument for 999900005 / ND 9999/5.
Raw evidence: raw/playwright/workflows/cancel-debit-note-nd-20260520T001612Z.json and screenshots under assets/screenshots/cancel-debit-note-nd-20260520T001612Z-*.png.
| Behavior | Observed detail |
|---|---|
| Cancellation permission | podeAnularDoc with num=999900005 and tipoop=ND returned succeeded:true. |
| Cancellation reason | The reason list used motivos_docs with is_anulacao=1 and activo=1; the verified run used id_motivo_anulacao=1, Erro de faturacao. |
| Final ND state | The ND list returned ANU / Canceled, total 1.97, ValorPago=0, and pending value 1.97. |
| Source FT result | Source 999901707 / FT 9999/1707 stayed ABR / Open with ValorPago=0 and pending value 1.97. |
| Stock effect | Warehouse 1 stock for article AI-DEMO-20260519-021105 stayed -41. |
Detailed how-to: How to Cancel a Debit Note.
Shipping Doc Creation Page
Verified route and save: /vendas/gr/create. Page title: OfficeGest with visible document label Shipping Doc. Workflow run shipping-doc-gr-20260519T051437Z created open shipping guide GR 9999/20.
Raw evidence: raw/playwright/vendas-gr-create-probe.json, raw/playwright/workflows/shipping-doc-gr-20260519T051437Z.json, and screenshots under assets/screenshots/shipping-doc-gr-20260519T051437Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Source association menu | The GR create page exposes source association options for [ENC] Internal Doc and [ORC] Quotation, but the verified run created a direct article-line GR. |
| Delivery tabs | The form includes Entity, Delivery Method, Details, Marketing, Recomendations, and Document. |
| Transport values | Load details defaulted to Leiria headquarters. The verified run set discharge to the customer address in Moura, postal code 7860-004, country PRT. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. |
| Final save | saveDocument returned 999900020%OK&=&OKDOC&=& and opened /vendas/gr/view/OTk5OTAwMDIw. |
| Shipping guide state | The GR list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GR-20260519T051437Z. |
| Stock effect | Warehouse 1 stock for the demo article changed from 1 to 0, matching the document configuration that GR updates stock. |
Detailed how-to: How to Create a Shipping Doc.
Transportation Note Creation Page
Verified route and save: /vendas/gt/create. Page title: OfficeGest with visible document label Transportation Note. Workflow run transportation-note-gt-20260519T052242Z created open transportation note GT 9999/89.
Raw evidence: raw/playwright/vendas-gt-create-probe.json, raw/playwright/workflows/transportation-note-gt-20260519T052242Z.json, and screenshots under assets/screenshots/transportation-note-gt-20260519T052242Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Source association menu | The GT create page exposes source association options for [ENC] Internal Doc and [ORC] Quotation, but the verified run created a direct article-line GT. |
| Delivery tabs | The form includes Entity, Delivery Method, Details, Marketing, Recomendations, and Document. |
| Transport values | Load details defaulted to Leiria headquarters. The verified run set discharge to the customer address in Moura, postal code 7860-004, country PRT. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. The line was accepted with physical stock 0. |
| Final save | saveDocument returned 999900089%OK&=&OKDOC&=& and opened /vendas/gt/view/OTk5OTAwMDg5. |
| Transportation note state | The GT list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GT-20260519T052242Z. |
| Stock effect | Warehouse 1 stock for the demo article stayed 0, matching the observed GT call context actualizastocks=F. |
Detailed how-to: How to Create a Transportation Note.
GIP Transportation Note Creation Page
Verified route and save: /vendas/gip/create. Page title: OfficeGest with visible document label Transportation Note. Workflow run transportation-note-gip-20260519T052722Z created open transportation note GIP 9999/18.
Raw evidence: raw/playwright/vendas-gip-create-probe.json, raw/playwright/workflows/transportation-note-gip-20260519T052722Z.json, recovered parser evidence raw/playwright/workflows/transportation-note-gip-20260519T052722Z-failed.json, and screenshots under assets/screenshots/transportation-note-gip-20260519T052722Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | GIP uses /vendas/gip and list table DocumGIP, while still sending typesaft=GT with tipoop=GIP. |
| Delivery tabs | The probe found Entity, Delivery Method, Details, Recomendations, and Document tabs on the create page. |
| Transport values | Load details defaulted to Leiria headquarters. The verified run set discharge to the customer address in Moura, postal code 7860-004, country PRT. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. The line was accepted with physical stock 0. |
| Final save | saveDocument returned 999900018%AI-DEMO-20260519-021105:1#&=&OKDOC&=& and opened /vendas/gip/view/OTk5OTAwMDE4. |
| GIP state | The GIP list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GIP-20260519T052722Z. |
| Stock effect | Warehouse 1 stock for the demo article changed from 0 to -1, matching the observed GIP article lookup context actualizastocks=T. |
Detailed how-to: How to Create a GIP Transportation Note.
Asset Movement Guide Creation Page
Verified route and save: /vendas/ga/create. Page title: OfficeGest with visible document label Asset Movement Guide. Workflow run asset-movement-guide-ga-20260519T053643Z created open movement guide GA 9999/15.
Raw evidence: raw/playwright/vendas-ga-create-probe.json, raw/playwright/workflows/asset-movement-guide-ga-20260519T053643Z.json, and screenshots under assets/screenshots/asset-movement-guide-ga-20260519T053643Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | GA uses /vendas/ga, list table GMovArt, typesaft=GA, and tipoop=GA. |
| Warehouse controls | The source is the line/store warehouse and load selection; the destination is CodLojaEntrada, visible as Warehouse Destination. The verified run moved from warehouse 1 to warehouse 2. |
| Delivery tabs | The create page includes Entity, Delivery Method, Details, Marketing, Recomendations, and Document. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, source warehouse 1, unit price 1.60, VAT 23%, total 1.97. The line was accepted with source stock -1. |
| Final save | saveDocument returned 999900015%AI-DEMO-20260519-021105:1#&=&OKDOC&=& and opened /vendas/ga/view/OTk5OTAwMDE1. |
| GA state | The GA list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GA-20260519T053643Z. |
| Stock effect | Warehouse 1 changed -1 to -2; warehouse 2 changed 0 to 1. |
Detailed how-to: How to Create an Asset Movement Guide.
Guide to Supplier Creation Page
Verified route and save: /vendas/ngt/create. Page title: OfficeGest with visible document label Guide to the supplier. Workflow run guide-to-supplier-ngt-20260519T054516Z created open supplier guide NGT 9999/13.
Raw evidence: raw/playwright/vendas-ngt-create-probe.json, raw/playwright/workflows/guide-to-supplier-ngt-20260519T054516Z.json, and screenshots under assets/screenshots/guide-to-supplier-ngt-20260519T054516Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | NGT uses /vendas/ngt, list table NGTransF, typesaft=GT, and tipoop=NGT. |
| Supplier entity | The entity selector searches forn, and NameEntidades is called with tabla=Forn. The verified list row returned tipoterc=F and codterc=100. |
| Confirmation behavior | Final save showed two confirmations: Will move stock a different warehouse of your preference. Confirm? and Are you sure?. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 2, unit price 1.23, VAT 23%, total 1.51. The line was accepted with source stock 1. |
| Final save | saveDocument returned 999900013%OK&=&OKDOC&=& and opened /vendas/ngt/view/OTk5OTAwMDEz. |
| NGT state | The NGT list returned ABR / Open, ValorPago=0, pending 1.51, total 1.51, and reference AI-NGT-20260519T054516Z. |
| Stock effect | Warehouse 2 stock for the demo article changed from 1 to 0; warehouse 1 stayed -2. |
Detailed how-to: How to Create a Guide to Supplier.
Consignment Guide Creation Page
Verified route and save: /vendas/gc/create. Page title: OfficeGest with visible document label Guide consignao. Workflow run consignment-guide-gc-20260519T055311Z created open consignment guide GC 9999/5.
Raw evidence: raw/playwright/vendas-gc-create-probe.json, raw/playwright/workflows/consignment-guide-gc-20260519T055311Z.json, and screenshots under assets/screenshots/consignment-guide-gc-20260519T055311Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | GC uses /vendas/gc, list table GConsig, typesaft=GC, and tipoop=GC. |
| Source association menu | The create page exposes source association options for [ENC] Internal Doc and [ORC] Quotation, but the verified run created a direct article-line GC. |
| Delivery tabs | The create page includes Entity, Delivery Method, Details, Marketing, Recomendations, and Document. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. The line was accepted with source stock 2. |
| Final save | saveDocument returned 999900005%OK&=&OKDOC&=& and opened /vendas/gc/view/OTk5OTAwMDA1. |
| GC state | The GC list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GC-20260519T055311Z. |
| Stock effect | Warehouse 1 stock for the demo article changed from 2 to 1; warehouse 2 stayed 0. |
Detailed how-to: How to Create a Consignment Guide.
Separation Guide Creation Page
Verified route and save: /vendas/gsa/create. Page title: OfficeGest with visible document label Separation guide. Workflow run separation-guide-gsa-20260519T055811Z created open separation guide GSA 9999/1.
Raw evidence: raw/playwright/vendas-gsa-create-probe.json, raw/playwright/workflows/separation-guide-gsa-20260519T055811Z.json, and screenshots under assets/screenshots/separation-guide-gsa-20260519T055811Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | GSA uses /vendas/gsa, list table documgsa, typesaft=GA, and tipoop=GSA. |
| Document purpose | The create page describes GSA as a Material preparation document for shipment between internal warehouses. |
| Warehouse controls | The source is localCarga and the line/store warehouse; the destination is CodLojaEntrada, visible as Warehouse Destination. The verified run used source 1 and destination 2. |
| Follow-up action | The saved GSA view exposed Convert to GA, which indicates GSA can be used as preparation before the stock-moving asset movement guide. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, source warehouse 1, unit price 1.60, VAT 23%, total 1.97. The line was accepted with source stock 1. |
| Final save | saveDocument returned 999900001%OK&=&OKDOC&=& and opened /vendas/gsa/view/OTk5OTAwMDAx. |
| GSA state | The GSA list returned ABR / Open, origin Armazem de Entradas, destination Armazem de Monos, ValorPago=0, pending 1.97, total 1.97, and reference AI-GSA-20260519T055811Z. |
| Stock effect | No stock change observed after save: warehouse 1 stayed 1; warehouse 2 stayed 0. |
Detailed how-to: How to Create a Separation Guide.
Internal Doc GS Creation Page
Verified route and save: /vendas/gs/create. Page title: OG - Internal Doc [GS]. Workflow run internal-doc-gs-20260519T060333Z created open internal document GS 9999/21.
Raw evidence: raw/playwright/vendas-gs-create-probe.json, raw/playwright/workflows/internal-doc-gs-20260519T060333Z.json, and screenshots under assets/screenshots/internal-doc-gs-20260519T060333Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | GS uses /vendas/gs, list table DocumGS, typesaft=WNE, and tipoop=GS. |
| Form tabs | The create page includes Entity, Details, Marketing, Recomendations, and Document; no delivery-method tab was present. |
| Source association menu | The create page exposes source association for [ORC] Quotation. The verified run created a direct article-line GS. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97, estimated date 19/05/2026. |
| Final save | saveDocument returned 999900021%&=&OKDOC&=& and opened /vendas/gs/view/OTk5OTAwMDIx. |
| GS state | The GS list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, and reference AI-GS-20260519T060333Z. |
| Stock/order effect | Warehouse 1 physical stock stayed 1; customer-order quantity changed from 1 to 2. |
Detailed how-to: How to Create an Internal Doc GS.
C. Interno CI Creation Page
Verified route and save: /vendas/ci/create. Page title: OG - C. Interno [CI]. Workflow run internal-invoice-ci-20260519T060951Z created open internal invoice CI 9999/9.
Raw evidence: raw/playwright/vendas-ci-create-probe.json, raw/playwright/workflows/internal-invoice-ci-20260519T060951Z.json, and screenshots under assets/screenshots/internal-invoice-ci-20260519T060951Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. The page also exposed document/printing and lot-printing controls. |
| Route/list identity | CI uses /vendas/ci, list table DocumCI, typesaft=FT, tipoop=CI, oficinas=T, recibo=F, and actualizacc=T. |
| Form tabs | The create page includes Vehicle & Entity, Delivery Method, Details, Marketing, Recomendations, and Document. The saved view also exposed an Accounting tab. |
| Vehicle context | Vehicle fields were visible and Print vehicle data was checked. The verified direct article-line save left license plate, brand, model, and mileage blank, so vehicle selection was optional for that path. |
| Delivery context | The verified run populated load fields with Leiria, postal code 2400, country PRT, and discharge fields from customer 910 in Moura. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. |
| Final save | saveDocument returned 999900009%OK&=&OKDOC&=& and opened /vendas/ci/view/OTk5OTAwMDA5. |
| CI state | The CI list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, payment term Pronto Pagamento, and reference AI-CI-20260519T060951Z. |
| Stock effect | Warehouse 1 physical stock changed from 1 to 0; warehouse 2 stayed 0; customer-order and supplier-order quantities stayed unchanged. |
Detailed how-to: How to Create a C. Interno CI.
Recuperacao FTM Creation Page
Verified route and save: /vendas/ftm/create. Page title: OG - Recuperacao [FTM]. Workflow run recovery-ftm-20260519T061803Z created open recovery invoice FTM 9999/16.
Raw evidence: raw/playwright/vendas-ftm-create-probe.json, raw/playwright/workflows/recovery-ftm-20260519T061803Z.json, and screenshots under assets/screenshots/recovery-ftm-20260519T061803Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. The page also exposed document/printing and lot-printing controls. |
| Route/list identity | FTM uses /vendas/ftm, list table DocumFTM, typesaft=FT, tipoop=FTM, oficinas=T, recibo=F, and actualizacc=T. |
| Form tabs | The create page includes Vehicle & Entity, Delivery Method, Details, Marketing, Recomendations, and Document. The saved view also exposed an Accounting tab. |
| Vehicle context | Vehicle fields were visible and Print vehicle data was checked. The verified direct article-line save left license plate, brand, model, and mileage blank, so vehicle selection was optional for that path. |
| Delivery context | The verified run populated load fields with Leiria, postal code 2400, country PRT, and discharge fields from customer 910 in Moura. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97. |
| Final save | saveDocument returned 999900016%OK&=&OKDOC&=& and opened /vendas/ftm/view/OTk5OTAwMDE2. |
| FTM state | The FTM list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, payment term Pronto Pagamento, and reference AI-FTM-20260519T061803Z. |
| Stock effect | Warehouse 1 physical stock changed from 2 to 1; warehouse 2 stayed 0; customer-order and supplier-order quantities stayed unchanged. |
Detailed how-to: How to Create a Recuperacao FTM.
Reparacao Molde OR Creation Page
Verified route and save: /vendas/or/create. Page title: OG - Reparacao Molde [OR]. Workflow run mold-repair-or-20260519T062304Z created open mold repair document OR 9999/3.
Raw evidence: raw/playwright/vendas-or-create-probe.json, raw/playwright/workflows/mold-repair-or-20260519T062304Z.json, and screenshots under assets/screenshots/mold-repair-or-20260519T062304Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | OR uses /vendas/or, list table DocumOR, typesaft=WNE, tipoop=OR, oficinas=F, recibo=F, and actualizacc=F. |
| Form tabs | The create page includes Entity, Delivery Method, Details, Marketing, Recomendations, and Document. The saved view also exposed Validation Notes. |
| Source association menu | The create page exposes source association for [ENC] Internal Doc. The verified run created a direct article-line OR. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97, estimated date 19/05/2026. |
| Final save | saveDocument returned 999900003%&=&OKDOC&=& and opened /vendas/or/view/OTk5OTAwMDAz. |
| OR state | The OR list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, payment term Pronto Pagamento, and reference AI-OR-20260519T062304Z. |
| Stock/order effect | Warehouse 1 physical stock stayed 1; customer-order quantity changed from 2 to 3; supplier-order quantity stayed 1. |
Detailed how-to: How to Create a Reparacao Molde OR.
Damages RMA Creation Page
Verified route and save: /vendas/rma/create. Page title: OG - Damages [RMA]. Workflow run damages-rma-20260519T062812Z created open damages document RMA 9999/9.
Raw evidence: raw/playwright/vendas-rma-create-probe.json, raw/playwright/workflows/damages-rma-20260519T062812Z.json, and screenshots under assets/screenshots/damages-rma-20260519T062812Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Route/list identity | RMA uses /vendas/rma, list table DocumRMA, typesaft=WNE, tipoop=RMA, oficinas=F, recibo=F, and actualizacc=F. |
| Form tabs | The create page includes Entity, Details, Marketing, Recomendations, and Document; no delivery-method tab was present. The saved view also exposed Validation Notes. |
| Source association menu | The create page exposes source association for [ORC] Quotation. The verified run created a direct article-line RMA. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97, estimated date 19/05/2026. |
| Final save | saveDocument returned 999900009%&=&OKDOC&=& and opened /vendas/rma/view/OTk5OTAwMDA5. |
| RMA state | The RMA list returned ABR / Open, ValorPago=0, pending 1.97, total 1.97, payment term Pronto Pagamento, and reference AI-RMA-20260519T062812Z. |
| Stock/order effect | Warehouse 1 physical stock stayed 1; customer-order quantity changed from 3 to 4; supplier-order quantity stayed 1. |
Detailed how-to: How to Create Damages RMA.
Zoom Level PRE Creation Page
Verified route and save: /vendas/pre/create. Page title: OG - Zoom Level [PRE]. Workflow run zoom-level-pre-20260519T064145Z created finished document PRE 9999/79.
Raw evidence: raw/playwright/vendas-pre-create-probe.json, raw/playwright/vendas-pre-source-association-probe.json, raw/playwright/workflows/zoom-level-pre-20260519T064145Z.json, and screenshots under assets/screenshots/zoom-level-pre-20260519T064145Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft and End. Final save opens the standard payment modal. |
| Route/list identity | PRE uses /vendas/pre, list table DocumPRE, typesaft=NC, tipoop=PRE, oficinas=F, recibo=F, and actualizacc=T. |
| Form tabs | The create page includes Entity, Details, Marketing, Recomendations, and Document. |
| Source association menu | The create page exposes [FR] Invoice / Receipt, [FS] Simplified invoice, [FT] Invoice, [NV] Note Devoluo, and [VD] Cash Sales. The verified run used 999900008 / FS 9999/8. |
| Direct line behavior | A direct article insertion attempt called loadArtigoReducido with tipoop=PRE but returned no insertable article row, so the successful workflow used source association. |
| Associated line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%, total 1.97, source FS_999900008_1. |
| Final save | The payment modal required [NUM] Numerario for 1.97, then confirmation. saveDocument returned 999900079%OK&=&OKDOC&=&. |
| PRE state | The PRE list returned LIQ / Finished, ValorPago=1.97, pending 0.00, total 1.97, and reference AI-PRE-20260519T064145Z. |
| Stock/order effect | Warehouse 1 physical stock changed from 1 to 2; customer-order quantity stayed 4; supplier-order quantity stayed 1. |
Detailed how-to: How to Create a Zoom Level PRE.
Quotation Creation Page
Verified route and save: /vendas/orc/create. Page title: OG - Quotation [ORC]. Workflow run quotation-orc-20260520T004056Z created open quotation ORC 9999/95.
Raw evidence: raw/playwright/vendas-orc-create-probe.json, raw/playwright/workflows/quotation-orc-20260520T004056Z.json, and screenshots under assets/screenshots/quotation-orc-20260520T004056Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Customer | Customer 910, 100 Ouvidos Lda, was accepted with VAT 509031862. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%. |
| Final save | saveDocument returned 999900095%OK&=&OKDOC&=& and opened /vendas/orc/view/OTk5OTAwMDk1. |
| Quotation state | The ORC list returned ABR / Open, ValorPago=0, total 1.97, and reference AI-ORC-20260520T004056Z. |
| Stock/order effect | Warehouse 1 stock stayed -41; customer-order quantity stayed 5; supplier-order quantity stayed 2. |
Detailed how-to: How to Create a Quotation.
Quotation Cancellation
Verified end to end: /vendas/orc/view/OTk5OTAwMDk1 cancelled open quotation 999900095 / ORC 9999/95 and verified the final ORC list state plus stock/order quantities.
Raw evidence: raw/playwright/workflows/cancel-quotation-orc-20260520T004120Z.json and screenshots under assets/screenshots/cancel-quotation-orc-20260520T004120Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ORC view exposes a cancellation action that calls btnDelete('Anular'). |
| Confirmation style | The verified ORC cancellation showed the irreversible confirmation directly; no cancellation-reason selector or podeAnularDoc request was captured. |
| Backend call | deleteDocument posted num=999900095, tipoop=ORC, tot_fin=1.97, and serialized form data with empty anulacao=. |
| Final state | The ORC list returned ANU / Canceled, total 1.97, ValorPago=0, and pending value 1.97. |
| Stock/order effect | Warehouse 1 stock stayed -41; qtd_enc_cliente stayed 5; qtd_enc_forn stayed 2. |
Detailed how-to: How to Cancel a Quotation.
Quotation to Invoice Draft Conversion
Verified to draft: /vendas/orc/view/OTk5OTAwMDg5 converted quotation ORC 9999/89 into FT draft 458 at /vendas/ft/rasc/NDU4. The invoice draft was not finalized.
Raw evidence: raw/playwright/workflows/quotation-to-invoice-draft-20260519T160923Z.json and screenshots under assets/screenshots/quotation-to-invoice-draft-20260519T160923Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ORC view exposes To convert with Invoice, Invoice / Receipt, Internal Doc, and Order of Service options. |
| Verified conversion | Invoice calls facturar('ft'), which posts facturardoc with tipoopdest=ft, source tipoop=ORC, and source number 999900089. |
| Response | facturardoc returned "OK:458:vendas" and opened /vendas/ft/rasc/NDU4. |
| Draft line | The FT draft copied article AI-DEMO-20260519-021105, quantity 1, VAT 23%, and source metadata ndocori=999900089, tipodocori=ORC, linhandocori=1. |
| Source quotation | The ORC list still returned ABR / Open immediately after draft creation, so final invoice state still needs the normal FT save/finalization check. |
Detailed how-to: How to Convert a Quotation to an Invoice Draft.
Converted Quotation Invoice Draft Finalization
Verified end to end: /vendas/ft/rasc/NDYz saved converted draft 463 as final invoice 999901669 / FT 9999/1669. The final FT invoice remained open and unpaid.
Raw evidence: raw/playwright/workflows/finalize-converted-quotation-invoice-draft-20260519T165348Z.json and screenshots under assets/screenshots/finalize-converted-quotation-invoice-draft-20260519T165348Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source quotation | Created and converted 999900092 / ORC 9999/92. |
| Draft source metadata | The FT draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900092, tipodocori=ORC, linhandocori=1. |
| Final save | saveDocument returned {"return":"999901669%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice | OfficeGest opened /vendas/ft/view/OTk5OTAxNjY5 with title OG - FT 9999/1669. |
| Final state | The FT list returned ABR / Open, total 1.97, and ValorPago=0. |
Detailed how-to: How to Finalize a Converted Quotation Invoice Draft.
Quotation to Invoice / Receipt Draft Conversion
Verified to draft: /vendas/orc/view/OTk5OTAwMDkw converted quotation ORC 9999/90 into FR draft 460 at /vendas/fr/rasc/NDYw. The invoice / receipt draft was not finalized or paid.
Raw evidence: raw/playwright/workflows/quotation-to-invoice-receipt-draft-20260519T162111Z.json and screenshots under assets/screenshots/quotation-to-invoice-receipt-draft-20260519T162111Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ORC view exposes To convert with Invoice, Invoice / Receipt, Internal Doc, and Order of Service options. |
| Verified conversion | Invoice / Receipt calls facturar('fr'), which posts facturardoc with tipoopdest=fr, source tipoop=ORC, and source number 999900090. |
| Response | facturardoc returned "OK:460:vendas" and opened /vendas/fr/rasc/NDYw. |
| Draft line | The FR draft copied article AI-DEMO-20260519-021105, quantity 1, VAT 23%, and source metadata ndocori=999900090, tipodocori=ORC, linhandocori=1. |
| Source quotation | The ORC list still returned ABR / Open immediately after draft creation, so final paid state still needs the normal FR save/payment/finalization check. |
Detailed how-to: How to Convert a Quotation to an Invoice / Receipt Draft.
Converted Quotation Invoice / Receipt Draft Finalization
Verified end to end: /vendas/fr/rasc/NDYz saved converted draft 463 as final invoice / receipt 999900843 / FR 9999/843. The final FR document was finished and paid.
Raw evidence: raw/playwright/workflows/finalize-converted-quotation-invoice-receipt-draft-20260519T165805Z.json and screenshots under assets/screenshots/finalize-converted-quotation-invoice-receipt-draft-20260519T165805Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source quotation | Created and converted 999900093 / ORC 9999/93. |
| Draft source metadata | The FR draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900093, tipodocori=ORC, linhandocori=1. |
| Payment | The Payment modal accepted [NUM] Numerário for total 1.97. |
| Final save | saveDocument returned {"return":"999900843%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice / receipt | OfficeGest opened /vendas/fr/view/OTk5OTAwODQz with title OG - FR 9999/843. |
| Final state | The FR list returned LIQ / Finished, total 1.97, and ValorPago=1.97. |
Detailed how-to: How to Finalize a Converted Quotation Invoice / Receipt Draft.
Quotation to Sales Order Draft Conversion
Verified to draft: /vendas/orc/view/OTk5OTAwMDkx converted quotation ORC 9999/91 into ENC draft 462 at /vendas/enc/rasc/NDYy. The sales order draft was not finalized.
Raw evidence: raw/playwright/workflows/quotation-to-sales-order-draft-20260519T163135Z.json and screenshots under assets/screenshots/quotation-to-sales-order-draft-20260519T163135Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ORC view exposes To convert with Invoice, Invoice / Receipt, Internal Doc, and Order of Service options. |
| Verified conversion | Internal Doc calls facturar('enc'), which posts facturardoc with tipoopdest=enc, source tipoop=ORC, and source number 999900091. |
| Response | facturardoc returned "OK:462:vendas" and opened /vendas/enc/rasc/NDYy. |
| Draft line | The ENC draft copied article AI-DEMO-20260519-021105, quantity 1, VAT 23%, and source metadata ndocori=999900091, tipodocori=ORC, linhandocori=1. |
| Source quotation | The ORC list still returned ABR / Open immediately after draft creation, so final order state still needs the normal ENC save/finalization check. |
Detailed how-to: How to Convert a Quotation to a Sales Order Draft.
Converted Quotation Sales Order Draft Finalization
Verified end to end: /vendas/enc/rasc/NDYz saved converted draft 463 as final sales order 999900108 / ENC 9999/108. The final ENC order remained open and unpaid.
Raw evidence: raw/playwright/workflows/finalize-converted-quotation-sales-order-draft-20260519T170312Z.json and screenshots under assets/screenshots/finalize-converted-quotation-sales-order-draft-20260519T170312Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source quotation | Created and converted 999900094 / ORC 9999/94. |
| Draft source metadata | The ENC draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900094, tipodocori=ORC, linhandocori=1. |
| Final save | saveDocument returned {"return":"999900108%&=&OKDOC&=&","print_documents":[]}. |
| Final sales order | OfficeGest opened /vendas/enc/view/OTk5OTAwMTA4 with title OG - ENC 9999/108. |
| Final state | The ENC list returned ABR / Open, total 1.97, and ValorPago=0. |
Detailed how-to: How to Finalize a Converted Quotation Sales Order Draft.
Sales Order Creation Page
Verified route and save: /vendas/enc/create. Page title: OG - Internal Doc [ENC]. Workflow run sales-order-enc-20260520T002909Z created open order ENC 9999/110.
Raw evidence: raw/playwright/vendas-enc-create-probe.json, raw/playwright/workflows/sales-order-enc-20260520T002909Z.json, and screenshots under assets/screenshots/sales-order-enc-20260520T002909Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Customer | Customer 910, 100 Ouvidos Lda, was accepted with VAT 509031862. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%. |
| Final save | saveDocument returned 999900110%&=&OKDOC&=& and opened /vendas/enc/view/OTk5OTAwMTEw. |
| Order state | The ENC list returned ABR / Open, ValorPago=0, pending value 1.97, and reference AI-ENC-20260520T002909Z. |
| Stock/order effect | Warehouse 1 physical stock stayed -41; customer-order quantity qtd_enc_cliente increased to 6. |
Detailed how-to: How to Create a Sales Order.
Sales Order Cancellation
Verified end to end: /vendas/enc/view/OTk5OTAwMTEw cancelled open sales order 999900110 / ENC 9999/110 and verified the final ENC list state plus stock/order quantities.
Raw evidence: raw/playwright/workflows/cancel-sales-order-enc-20260520T003150Z.json and screenshots under assets/screenshots/cancel-sales-order-enc-20260520T003150Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ENC view exposes a cancellation action that calls btnDelete('Anular'). |
| Confirmation style | The verified ENC cancellation showed the irreversible confirmation directly; no cancellation-reason selector or podeAnularDoc request was captured. |
| Backend call | deleteDocument posted num=999900110, tipoop=ENC, tot_fin=1.97, and serialized form data with empty anulacao=. |
| Final state | The ENC list returned ANU / Canceled, total 1.97, ValorPago=0, and pending value 1.97. |
| Stock/order effect | Warehouse 1 physical stock stayed -41; qtd_enc_cliente changed from 6 to 5; qtd_enc_forn stayed 2. |
Detailed how-to: How to Cancel a Sales Order.
Sales Order to Invoice Draft Conversion
Verified to draft: /vendas/enc/view/OTk5OTAwMTA0 converted sales order ENC 9999/104 into FT draft 459 at /vendas/ft/rasc/NDU5. The invoice draft was not finalized.
Raw evidence: raw/playwright/workflows/sales-order-to-invoice-draft-20260519T161456Z.json and screenshots under assets/screenshots/sales-order-to-invoice-draft-20260519T161456Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ENC view exposes Invoice with Invoice, Invoice / Receipt, and Internal Doc options. |
| Verified conversion | Invoice calls facturar('ft'), which posts facturardoc with tipoopdest=ft, source tipoop=ENC, and source number 999900104. |
| Response | facturardoc returned "OK:459:vendas" and opened /vendas/ft/rasc/NDU5. |
| Draft line | The FT draft copied article AI-DEMO-20260519-021105, quantity 1, VAT 23%, and source metadata ndocori=999900104, tipodocori=ENC, linhandocori=1. |
| Source order | The ENC list still returned ABR / Open immediately after draft creation, so final invoice state still needs the normal FT save/finalization check. |
Detailed how-to: How to Convert a Sales Order to an Invoice Draft.
Converted Sales Order Invoice Draft Finalization
Verified end to end: /vendas/ft/rasc/NDYz saved converted draft 463 as final invoice 999901668 / FT 9999/1668. The final FT invoice remained open and unpaid.
Raw evidence: raw/playwright/workflows/finalize-converted-sales-order-invoice-draft-20260519T164146Z.json and screenshots under assets/screenshots/finalize-converted-sales-order-invoice-draft-20260519T164146Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source order | Created and converted 999900106 / ENC 9999/106. |
| Draft source metadata | The FT draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900106, tipodocori=ENC, linhandocori=1. |
| Final save | saveDocument returned {"return":"999901668%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice | OfficeGest opened /vendas/ft/view/OTk5OTAxNjY4 with title OG - FT 9999/1668. |
| Final state | The FT list returned ABR / Open, total 1.97, and ValorPago=0. |
Detailed how-to: How to Finalize a Converted Sales Order Invoice Draft.
Sales Order to Invoice / Receipt Draft Conversion
Verified to draft: /vendas/enc/view/OTk5OTAwMTA1 converted sales order ENC 9999/105 into FR draft 461 at /vendas/fr/rasc/NDYx. The invoice / receipt draft was not finalized or paid.
Raw evidence: raw/playwright/workflows/sales-order-to-invoice-receipt-draft-20260519T162611Z.json and screenshots under assets/screenshots/sales-order-to-invoice-receipt-draft-20260519T162611Z-*.png.
| Behavior | Observed detail |
|---|---|
| Visible action | The saved ENC view exposes Invoice with Invoice, Invoice / Receipt, and Internal Doc options. |
| Verified conversion | Invoice / Receipt calls facturar('fr'), which posts facturardoc with tipoopdest=fr, source tipoop=ENC, and source number 999900105. |
| Response | facturardoc returned "OK:461:vendas" and opened /vendas/fr/rasc/NDYx. |
| Draft line | The FR draft copied article AI-DEMO-20260519-021105, quantity 1, VAT 23%, and source metadata ndocori=999900105, tipodocori=ENC, linhandocori=1. |
| Source order | The ENC list still returned ABR / Open immediately after draft creation, so final paid state still needs the normal FR save/payment/finalization check. |
Detailed how-to: How to Convert a Sales Order to an Invoice / Receipt Draft.
Converted Sales Order Invoice / Receipt Draft Finalization
Verified end to end: /vendas/fr/rasc/NDYz saved converted draft 463 as final invoice / receipt 999900842 / FR 9999/842. The final FR document was finished and paid.
Raw evidence: raw/playwright/workflows/finalize-converted-sales-order-invoice-receipt-draft-20260519T164715Z.json and screenshots under assets/screenshots/finalize-converted-sales-order-invoice-receipt-draft-20260519T164715Z-*.png.
| Behavior | Observed detail |
|---|---|
| Source order | Created and converted 999900107 / ENC 9999/107. |
| Draft source metadata | The FR draft copied article AI-DEMO-20260519-021105, quantity 1, and source metadata ndocori=999900107, tipodocori=ENC, linhandocori=1. |
| Payment | The Payment modal accepted [NUM] Numerário for total 1.97. |
| Final save | saveDocument returned {"return":"999900842%OK&=&OKDOC&=&","print_documents":[]}. |
| Final invoice / receipt | OfficeGest opened /vendas/fr/view/OTk5OTAwODQy with title OG - FR 9999/842. |
| Final state | The FR list returned LIQ / Finished, total 1.97, and ValorPago=1.97. |
Detailed how-to: How to Finalize a Converted Sales Order Invoice / Receipt Draft.
Invoice Creation Page
Verified route and save: /vendas/ft/create. Page title: OG - Invoice [FT]. Workflow run sales-invoice-ft-20260519T040734Z created open receivable invoice FT 9999/1666.
Raw evidence: raw/playwright/vendas-ft-create-probe.json, raw/playwright/workflows/sales-invoice-ft-20260519T040734Z.json, and screenshots under assets/screenshots/sales-invoice-ft-20260519T040734Z-*.png.
| Behavior | Observed detail |
|---|---|
| Primary actions | Save Draft, Save and Print, and Save and Finish. |
| Customer | Customer 910, 100 Ouvidos Lda, was accepted for billing with VAT 509031862. |
| Article line | Article AI-DEMO-20260519-021105, quantity 1, warehouse 1, unit price 1.60, VAT 23%. |
| Draft save | saveRascunho returned OK:464 and opened draft route /vendas/ft/rasc/NDY0 in the verified draft run. Draft header edit is verified: re-saving edited draft 467 returned active draft 468. Draft line add is verified: re-saving draft 469 with another line returned active draft 470. Draft quantity change is verified: re-saving draft 474 after changing quantity returned active draft 475. Draft line deletion is verified: re-saving draft 472 after deleting one line returned active draft 473. A later verified draft finalization saved draft 465 as 999901677 / FT 9999/1677. |
| Final save | saveDocument returned 999901666%OK&=&OKDOC&=& and opened /vendas/ft/view/OTk5OTAxNjY2. |
| Receivable state | The FT list returned ABR / Open, ValorPago=0, pending value 1.97, and reference AI-FT-20260519T040734Z. |
| Stock effect | Warehouse 1 stock for the article decreased from 2 to 1. |
Detailed how-to: How to Create a Sales Invoice. Draft how-to: How to Save a Sales Invoice Draft, How to Edit a Saved Sales Invoice Draft, How to Add a Line to a Sales Invoice Draft, How to Change Quantity on a Sales Invoice Draft, How to Delete a Line from a Sales Invoice Draft, and How to Finalize a Saved Sales Invoice Draft. Validation how-to: How to Handle the Sales Invoice No Lines Error and How to Handle the Sales Invoice Mandatory Fields Error. Cancellation how-to: How to Cancel a Sales Invoice.
Sales Invoice Draft Save
Verified end to end: /vendas/ft/create exposed Save Draft. Workflow run sales-invoice-draft-ft-20260519T175248Z filled an FT for customer 910, saved draft 464, and opened /vendas/ft/rasc/NDY0.
Raw evidence: raw/playwright/workflows/sales-invoice-draft-ft-20260519T175248Z.json and screenshots under assets/screenshots/sales-invoice-draft-ft-20260519T175248Z-*.png.
| Behavior | Observed detail |
|---|---|
| Action | Save Draft calls sendForm('Rascunho', false). |
| Backend save | saveRascunho returned "OK:464:&=&AI-DEMO-20260519-021105:1#". |
| Draft route | OfficeGest opened /vendas/ft/rasc/NDY0 with page title OG - Invoice [FT]. |
| Draft content | The draft kept customer 910, reference AI-FT-DRAFT-20260519T175248Z, type FT, and article AI-DEMO-20260519-021105. |
| Not finalized | The final FT list search for the draft reference returned no rows. |
| Stock effect | Warehouse stock stayed at -1 before and after the draft save. |
Detailed how-to: How to Save a Sales Invoice Draft.
Saved Sales Invoice Draft Edit
Verified end to end: Workflow run edit-sales-invoice-draft-20260519T180638Z created source draft 467, opened /vendas/ft/rasc/NDY3, changed the reference, clicked Save Draft, and verified the edited draft reopened as active draft 468 at /vendas/ft/rasc/NDY4.
Raw evidence: raw/playwright/workflows/edit-sales-invoice-draft-20260519T180638Z.json and screenshots under assets/screenshots/edit-sales-invoice-draft-20260519T180638Z-*.png.
| Behavior | Observed detail |
|---|---|
| Edit scope | The verified edit changed the header reference from AI-FT-DRAFT-20260519T180605Z to AI-FT-DRAFT-20260519T180605Z-EDIT. |
| Backend save | saveRascunho returned "OK:468:&=&AI-DEMO-20260519-021105:1#". |
| Draft replacement | OfficeGest moved from draft 467 to active draft 468; users should continue from the new draft route after saving edits. |
| Line preservation | The edited draft kept article AI-DEMO-20260519-021105, quantity 1, warehouse 1, and VAT 23%. |
| Not finalized | The final FT list search for the edited reference returned no rows. |
| Stock effect | Warehouse stock stayed at -3 before and after the edit re-save. |
Detailed how-to: How to Edit a Saved Sales Invoice Draft.
Saved Sales Invoice Draft Line Add
Verified end to end: Workflow run add-line-sales-invoice-draft-20260519T181220Z created source draft 469, opened /vendas/ft/rasc/NDY5, added another article line, clicked Save Draft, and verified active draft 470 at /vendas/ft/rasc/NDcw.
Raw evidence: raw/playwright/workflows/add-line-sales-invoice-draft-20260519T181220Z.json and screenshots under assets/screenshots/add-line-sales-invoice-draft-20260519T181220Z-*.png.
| Behavior | Observed detail |
|---|---|
| Line add | The draft changed from 1 row / quantity 1 to 2 rows / total quantity 2. |
| Backend save | saveRascunho returned "OK:470:&=&AI-DEMO-20260519-021105:1#". |
| Draft replacement | OfficeGest moved from draft 469 to active draft 470; users should continue from the new draft route after saving line edits. |
| Total effect | Total with VAT changed from 1.96677 to 3.93354. |
| Not finalized | The final FT list search for the edited reference returned no rows. |
| Stock effect | Warehouse stock stayed at -3 before and after the draft line add. |
Detailed how-to: How to Add a Line to a Sales Invoice Draft.
Saved Sales Invoice Draft Line Deletion
Verified end to end: Workflow run delete-line-sales-invoice-draft-20260519T182132Z created a two-line source draft 472, opened /vendas/ft/rasc/NDcy, deleted one article line, clicked Save Draft, and verified active draft 473 at /vendas/ft/rasc/NDcz.
Raw evidence: raw/playwright/workflows/delete-line-sales-invoice-draft-20260519T182132Z.json and screenshots under assets/screenshots/delete-line-sales-invoice-draft-20260519T182132Z-*.png.
| Behavior | Observed detail |
|---|---|
| Line deletion | The draft changed from 2 rows / quantity 2 to 1 row / total quantity 1. |
| Backend delete | deleteLinhaDoc removed line sequence 2 from draft table id 51872. |
| Backend save | saveRascunho returned "OK:473:&=&AI-DEMO-20260519-021105:1#". |
| Draft replacement | OfficeGest moved from draft 472 to active draft 473; users should continue from the new draft route after saving line edits. |
| Total effect | Total with VAT changed from 3.93354 to 1.96677. |
| Not finalized | The final FT list search for the edited reference returned no rows. |
| Stock effect | Warehouse stock stayed at -3 before and after the draft line deletion. |
Detailed how-to: How to Delete a Line from a Sales Invoice Draft.
Saved Sales Invoice Draft Quantity Change
Verified end to end: Workflow run change-quantity-sales-invoice-draft-20260519T182947Z created source draft 474, opened /vendas/ft/rasc/NDc0, changed the article line quantity from 1 to 2, clicked Save Draft, and verified active draft 475 at /vendas/ft/rasc/NDc1.
Raw evidence: raw/playwright/workflows/change-quantity-sales-invoice-draft-20260519T182947Z.json and screenshots under assets/screenshots/change-quantity-sales-invoice-draft-20260519T182947Z-*.png.
| Behavior | Observed detail |
|---|---|
| Quantity edit | The draft stayed at 1 row while total quantity changed from 1 to 2. |
| Backend edit | updateEditableTabDoc updated campo=Qtd with value 2. |
| Backend save | saveRascunho returned "OK:475:&=&AI-DEMO-20260519-021105:1#". |
| Draft replacement | OfficeGest moved from draft 474 to active draft 475; users should continue from the new draft route after saving line edits. |
| Total effect | Total with VAT changed from 1.96677 to 3.93354. |
| Not finalized | The final FT list search for the edited reference returned no rows. |
| Stock effect | Warehouse stock stayed at -3 before and after the draft quantity change. |
Detailed how-to: How to Change Quantity on a Sales Invoice Draft.
Saved Sales Invoice Draft Finalization
Verified end to end: Workflow run finalize-saved-sales-invoice-draft-20260519T175951Z created source draft 465, opened /vendas/ft/rasc/NDY1, clicked Save and Finish, confirmed the dialog, and created final invoice 999901677 / FT 9999/1677.
Raw evidence: raw/playwright/workflows/finalize-saved-sales-invoice-draft-20260519T175951Z.json and screenshots under assets/screenshots/finalize-saved-sales-invoice-draft-20260519T175951Z-*.png.
| Behavior | Observed detail |
|---|---|
| Draft source | Draft 465 came from run sales-invoice-draft-ft-20260519T175923Z and used reference AI-FT-DRAFT-20260519T175923Z. |
| Final action | Save and Finish showed Are you sure?, then submitted the normal final save. |
| Backend save | saveDocument returned {"return":"999901677%AI-DEMO-20260519-021105:1#&=&OKDOC&=&","print_documents":[]}. |
| Final invoice | OfficeGest opened /vendas/ft/view/OTk5OTAxNjc3 with title OG - FT 9999/1677. |
| Final state | The FT list returned ABR / Open, total 1.97, ValorPago=0, and pending 1.97. |
| Stock effect | Warehouse stock moved from -2 before finalization to -3 after finalization. |
Detailed how-to: How to Finalize a Saved Sales Invoice Draft.
Sales Invoice No Lines Validation
Verified end to end: Workflow run sales-invoice-no-lines-validation-20260519T183637Z opened blank route /vendas/ft/create, clicked Save and Finish, and captured visible toast ErrorNo lines.
Raw evidence: raw/playwright/workflows/sales-invoice-no-lines-validation-20260519T183637Z.json and screenshots under assets/screenshots/sales-invoice-no-lines-validation-20260519T183637Z-*.png.
| Behavior | Observed detail |
|---|---|
| Blank invoice state | Customer empty, article search empty, line grid row count 0. |
| Attempted action | Save and Finish called sendForm('Guardar', false). |
| Visible validation | OfficeGest showed toast ErrorNo lines. |
| Navigation | The page stayed on /vendas/ft/create with title OG - Invoice [FT]. |
| Final save | No saveDocument request was submitted. |
Detailed how-to: How to Handle the Sales Invoice No Lines Error.
Sales Invoice Mandatory Fields Validation
Verified end to end: Workflow run sales-invoice-missing-customer-validation-20260519T184220Z added article AI-DEMO-20260519-021105 to a blank FT without selecting a customer, clicked Save and Finish, and captured visible toast Error There are mandatory fields unfilled.
Raw evidence: raw/playwright/workflows/sales-invoice-missing-customer-validation-20260519T184220Z.json and screenshots under assets/screenshots/sales-invoice-missing-customer-validation-20260519T184220Z-*.png.
| Behavior | Observed detail |
|---|---|
| Invoice state | Line grid had one article line; customer and VAT number stayed empty. |
| Visible validation | OfficeGest showed toast Error There are mandatory fields unfilled. |
| Field marking | #doc_CodTerc and #doc_NContrib had chosen-error. |
| Navigation | The page stayed on /vendas/ft/create with title OG - Invoice [FT]. |
| Final save | No saveDocument request was submitted. |
Detailed how-to: How to Handle the Sales Invoice Mandatory Fields Error.
Sales Invoice Cancellation
Verified end to end: /vendas/ft/view/OTk5OTAxNjcy exposed the red Cancel action for invoice 999901672 / FT 9999/1672. Workflow run cancel-sales-invoice-ft-20260519T172726Z selected a cancellation reason, confirmed the irreversible dialog, and verified the FT list state changed to ANU / Canceled.
Raw evidence: raw/playwright/workflows/cancel-sales-invoice-ft-20260519T172726Z.json and screenshots under assets/screenshots/cancel-sales-invoice-ft-20260519T172726Z-*.png.
| Behavior | Observed detail |
|---|---|
| Eligibility check | podeAnularDoc returned {"succeeded":true,"message":null,"params":null} for num=999901672, tipoop=FT. |
| Reason modal | The Reason for Cancellation modal contained hidden anulacao and selector id_motivo_anulacao. The verified run used reason id 1, Erro de faturacao. |
| Final confirmation | OfficeGest displayed Are you sure you want to cancel? This irreversible operation, then submitted deleteDocument. |
| Final state | The FT list search returned estado=ANU, desig_estado=Canceled, total 1.97, and ValorPago=0. |
| Stock effect | Warehouse 1 stock for article AI-DEMO-20260519-021105 moved from -2 before cancellation to -1 after cancellation. |
Detailed how-to: How to Cancel a Sales Invoice.
Invoice / Receipt Creation Page
Verified route and save: /vendas/fr/create. Page title: OG - Invoice / Receipt [FR]. Workflow run invoice-fr-20260519T024739Z created finished document FR 9999/841.
Raw evidence: raw/playwright/vendas-fr-create-snapshot.yml, raw/playwright/vendas-fr-create-dom-inventory.json, raw/playwright/vendas-fr-create-requests.txt, raw/playwright/workflows/invoice-fr-20260519T024739Z.json, and screenshots under assets/screenshots/invoice-fr-20260519T024739Z-*.png.
| Area | Observed Controls / Fields |
|---|---|
| Workflow tabs | Vehicle & Entity, Delivery Method, Details, Marketing, Recommendations, Document |
| Vehicle | Print vehicle data, License Plate, New Car, Brand, Sinister, Version, chassis/frame number, Year, Previous kms, Current Km |
| Entities | Owner, Fact entity, New Customer, Final Customer, VAT Number |
| Document details | Delivery Method, Car, load/discharge addresses, collaborator, commercial, payment method, due date, classification, reference, currency, exchange rate, billing address, campaign/contact/business opportunity, series, emission date, tax zone, process, advance invoice |
| Document lines | Article ID, Description, Qty, Unit Price, Discounts, VAT, Store, Stock Qty, Cost Center, loyalty points |
| Auxiliary tools | Article search, document duplicate modal, attachments, shipping, gift card, loyalty card, extra fields, associated documents, serial numbers, import articles, line sorting. A separate true duplicate-line action was not exposed in the captured FT create UI. |
| Totals | Total gross, line volume, discount, net total, VAT, retention, total, profit margin, number of articles |
| Primary actions | Save Draft, Supervisor, End |
Verified Invoice Save Behavior
| Step | Observed detail |
|---|---|
| Billing customer | Customer 910, 100 Ouvidos Lda, is active and accepted for billing. Customer 1 from Final Customer is inactive in the demo and blocks finalization. |
| Article line | Article AI-DEMO-20260519-021105 inserted with quantity 1,00, unit price 1.60, VAT 23%, store 1, and total without VAT 1,60. |
| Totals | Gross 1,60 EUR, VAT 0,37 EUR, total 1,97 EUR. |
| Payment | The Payment modal requires a payment line. Selecting [NUM] Numerario creates a line for 1.97; Save then asks Are you sure?. Missing-payment validation is verified: payment&option=validate returned valid:"NONE", opened the Payment modal, and did not submit saveDocument. |
| Payment row correction | Payment row deletion is verified: after adding NUM 1.97, the row trash button submitted payment&option=delete, cleared the payment form, reset total to 0, and did not save the FR. Partial-payment correction is also verified: editing NUM 1.00 to NUM 1.97 validated the modal and saved FR 9999/847. Overpayment is verified: NUM 2.00 against total 1.97 returned troco:0.03 and saved FR 9999/848. |
| Final save | saveDocument returned 999900841%OK&=&OKDOC&=& and redirected to /vendas/fr/view/OTk5OTAwODQx. |
| Stock effect | Warehouse 1 stock for the article decreased from 2 to 1, confirming that the finished invoice/receipt updates stock. |
Detailed how-to: How to Create an Invoice. Validation how-to: How to Handle Missing Payment on an Invoice / Receipt. Partial-payment how-tos: How to Handle a Partial Payment on an Invoice / Receipt and How to Fix a Partial Payment on an Invoice / Receipt. Overpayment how-to: How to Handle Overpayment on an Invoice / Receipt. Payment row deletion how-to: How to Delete a Payment Row from an Invoice / Receipt.
Invoice / Receipt Missing Payment Validation
Verified end to end: Workflow run invoice-receipt-missing-payment-validation-20260519T184723Z selected customer 910, inserted article AI-DEMO-20260519-021105, clicked Save and Finish without a payment line, and confirmed OfficeGest opened the Payment modal instead of saving.
Raw evidence: raw/playwright/workflows/invoice-receipt-missing-payment-validation-20260519T184723Z.json and screenshots under assets/screenshots/invoice-receipt-missing-payment-validation-20260519T184723Z-*.png.
| Behavior | Observed detail |
|---|---|
| Invoice state | Customer 910 selected and one article line inserted, total 1.97. |
| Payment validation | payment&option=validate returned valid:"NONE", troco:-1.97, and message The payment is equal to or greater than the total document. |
| Payment modal | Payment modal was visible with no payment rows and payment total 0.00. |
| Final save | No saveDocument request was submitted. |
| Stock effect | Warehouse stock stayed at -3 because the document was not finalized. |
Detailed how-to: How to Handle Missing Payment on an Invoice / Receipt.
Simplified Invoice Missing Payment Validation
Verified end to end: Workflow run simplified-invoice-missing-payment-validation-20260519T185326Z selected customer 910, inserted article AI-DEMO-20260519-021105, clicked Save and Finish without a payment line, and confirmed OfficeGest opened the Payment modal instead of saving.
Raw evidence: raw/playwright/workflows/simplified-invoice-missing-payment-validation-20260519T185326Z.json and screenshots under assets/screenshots/simplified-invoice-missing-payment-validation-20260519T185326Z-*.png.
| Behavior | Observed detail |
|---|---|
| Invoice state | Customer 910 selected and one article line inserted, total 1.97. |
| Payment validation | payment&option=validate returned valid:"NONE", troco:-1.97, and message The payment is equal to or greater than the total document. |
| Payment modal | Payment modal was visible with no payment rows and payment total 0.00. |
| Final save | No saveDocument request was submitted. |
| Stock effect | Warehouse stock stayed at -3 because the document was not finalized. |
Detailed how-to: How to Handle Missing Payment on a Simplified Invoice.
Simplified Invoice Overpayment
Verified end to end: Workflow run simplified-invoice-overpayment-20260519T225200Z created finished document 999900009 / FS 9999/9 after entering NUM 2.00 against a 1.97 total.
Raw evidence: raw/playwright/workflows/simplified-invoice-overpayment-20260519T225200Z.json and screenshots under assets/screenshots/simplified-invoice-overpayment-20260519T225200Z-*.png.
| Behavior | Observed detail |
|---|---|
| Payment row | payment&option=add created a NUM row with value 2. |
| Payment validation | payment&option=validate returned valid:true and troco:0.03. |
| Final save | saveDocument returned OKDOC and redirected to /vendas/fs/view/OTk5OTAwMDA5. |
| List result | The FS list returned FS 9999/9 as LIQ / Finished with total 1.97, paid value 1.97, and pending value 0.00. |
| Stock effect | Warehouse stock moved from -28 to -29. |
Detailed how-to: How to Handle Overpayment on a Simplified Invoice.
Simplified Invoice Partial Payment Correction
Verified end to end: Workflow run simplified-invoice-fix-partial-payment-20260519T225558Z created a short NUM 1.00 payment on an FS, edited the same payment row to 1.97, and saved finished document 999900010 / FS 9999/10.
Raw evidence: raw/playwright/workflows/simplified-invoice-fix-partial-payment-20260519T225558Z.json and screenshots under assets/screenshots/simplified-invoice-fix-partial-payment-20260519T225558Z-*.png.
| Behavior | Observed detail |
|---|---|
| Short payment validation | payment&option=validate first returned valid:false and troco:-0.97 for NUM 1.00 against total 1.97. |
| Correction | The existing payment row input was edited to 1.97, and #payment_total changed to 1.97. |
| Final validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocument returned OKDOC and redirected to /vendas/fs/view/OTk5OTAwMDEw. |
| List result | The FS list returned FS 9999/10 as LIQ / Finished with paid value 1.97 and pending value 0.00. |
| Stock effect | Warehouse stock moved from -29 to -30. |
Detailed how-to: How to Fix a Partial Payment on a Simplified Invoice.
Simplified Invoice Payment Row Deletion
Verified up to the save boundary: Workflow run simplified-invoice-delete-payment-row-20260519T230007Z added NUM 1.97 on an FS payment modal, deleted the row, and confirmed no final save or stock movement occurred.
Raw evidence: raw/playwright/workflows/simplified-invoice-delete-payment-row-20260519T230007Z.json and screenshots under assets/screenshots/simplified-invoice-delete-payment-row-20260519T230007Z-*.png.
| Behavior | Observed detail |
|---|---|
| Payment add | payment&option=add created a NUM 1.97 row for temporary document 55591. |
| Delete action | payment&option=delete used nseq=1 and total 1.97. |
| Modal after delete | #payment_form was empty, no payment inputs or delete buttons remained, and #payment_total was 0. |
| Save boundary | No saveDocument request or OKDOC response was captured. |
| Stock effect | Warehouse stock stayed at -30. |
Detailed how-to: How to Delete a Payment Row from a Simplified Invoice.
Simplified Invoice Split Payment
Verified end to end: Workflow run simplified-invoice-split-payment-20260519T230345Z created finished document 999900011 / FS 9999/11 with two payment rows: NUM 1.00 and TRA 0.97.
Raw evidence: raw/playwright/workflows/simplified-invoice-split-payment-20260519T230345Z.json and screenshots under assets/screenshots/simplified-invoice-split-payment-20260519T230345Z-*.png.
| Behavior | Observed detail |
|---|---|
| Payment rows | payment&option=add created NUM value 1, then TRA value 0.97. |
| Payment validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocument returned OKDOC and redirected to /vendas/fs/view/OTk5OTAwMDEx. |
| List result | The FS list returned FS 9999/11 as LIQ / Finished with paid value 1.97 and pending value 0.00. |
| Stock effect | Warehouse stock moved from -30 to -31. |
Detailed how-to: How to Create a Simplified Invoice with Split Payment.
Invoice / Receipt Inactive Customer Validation
Verified end to end: Workflow run invoice-receipt-inactive-customer-validation-20260519T185928Z selected inactive customer 1, inserted article AI-DEMO-20260519-021105, clicked Save and Finish, and confirmed OfficeGest did not save the document.
Raw evidence: raw/playwright/workflows/invoice-receipt-inactive-customer-validation-20260519T185928Z.json and screenshots under assets/screenshots/invoice-receipt-inactive-customer-validation-20260519T185928Z-*.png.
| Behavior | Observed detail |
|---|---|
| Customer lookup | NameEntidades returned customer 1, Consumidor Final, VAT 999999990, with activo:"F". |
| Selection warning | OfficeGest showed Inactive billing entity! The billing entity is inactive. |
| Field state | After selection, #doc_CodTerc and #doc_NContrib were empty while billing name still displayed Consumidor Final. |
| Finish attempt | With the customer/VAT fields empty, OfficeGest showed Error There are mandatory fields unfilled. |
| Final save | No saveDocument request was submitted. |
| Stock effect | Warehouse stock stayed at -3 because the document was not finalized. |
Detailed how-tos: How to Use Final Customer During Invoicing and How to Handle an Inactive Billing Customer on an Invoice / Receipt.
Invoice / Receipt Partial Payment Validation
Verified end to end: Workflow run invoice-receipt-partial-payment-validation-20260519T190550Z selected customer 910, inserted article AI-DEMO-20260519-021105, added a NUM payment of 1.00 against a 1.97 total, clicked the payment modal Save, and confirmed OfficeGest blocked final save.
Raw evidence: raw/playwright/workflows/invoice-receipt-partial-payment-validation-20260519T190550Z.json and screenshots under assets/screenshots/invoice-receipt-partial-payment-validation-20260519T190550Z-*.png.
| Behavior | Observed detail |
|---|---|
| Invoice state | Customer 910 selected and one article line inserted, total 1.97. |
| Payment row | payment&option=add created a NUM payment line with value 1. |
| Payment validation | payment&option=validate returned valid:false, troco:-0.97, and message The payment is equal to or greater than the total document. |
| Payment modal | Payment modal stayed visible with payment total 1.00. |
| Final save | No saveDocument request was submitted. |
| Stock effect | Warehouse stock stayed at -3 because the document was not finalized. |
Detailed how-to: How to Handle a Partial Payment on an Invoice / Receipt.
Invoice / Receipt Partial Payment Correction
Verified end to end: Workflow run invoice-receipt-fix-partial-payment-20260519T223353Z created a short NUM 1.00 payment on an FR, edited the same payment row to 1.97, and saved finished document 999900847 / FR 9999/847.
Raw evidence: raw/playwright/workflows/invoice-receipt-fix-partial-payment-20260519T223353Z.json and screenshots under assets/screenshots/invoice-receipt-fix-partial-payment-20260519T223353Z-*.png.
| Behavior | Observed detail |
|---|---|
| Short payment validation | payment&option=validate first returned valid:false and troco:-0.97 for NUM 1.00 against total 1.97. |
| Correction | The existing payment row input was edited to 1.97, and #payment_total changed to 1.97. |
| Final validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocument returned OKDOC and redirected to /vendas/fr/view/OTk5OTAwODQ3. |
| List result | The FR list returned FR 9999/847 as LIQ / Finished with paid value 1.97 and pending value 0.00. |
| Stock effect | Warehouse stock moved from -26 to -27. |
Detailed how-to: How to Fix a Partial Payment on an Invoice / Receipt.
Invoice / Receipt Split Payment
Verified end to end: Workflow run invoice-receipt-split-payment-20260519T191233Z created finished document 999900846 / FR 9999/846 with two payment rows: NUM 1.00 and TRA 0.97.
Raw evidence: raw/playwright/workflows/invoice-receipt-split-payment-20260519T191233Z.json and screenshots under assets/screenshots/invoice-receipt-split-payment-20260519T191233Z-*.png.
| Behavior | Observed detail |
|---|---|
| Invoice state | Customer 910 selected and one article line inserted, total 1.97. |
| Payment rows | payment&option=add created NUM value 1, then TRA value 0.97. |
| Payment validation | payment&option=validate returned valid:true and troco:0. |
| Final save | saveDocument returned 999900846%...OKDOC and redirected to /vendas/fr/view/OTk5OTAwODQ2. |
| List result | The FR list returned LIQ / Finished, total 1.97, paid 1.97, and pending 0.00. |
| Stock effect | Warehouse stock moved from -4 to -5. |
Detailed how-to: How to Create an Invoice / Receipt with Split Payment.
Invoice / Receipt Overpayment
Verified end to end: Workflow run invoice-receipt-overpayment-20260519T224642Z created finished document 999900848 / FR 9999/848 after entering NUM 2.00 against a 1.97 total.
Raw evidence: raw/playwright/workflows/invoice-receipt-overpayment-20260519T224642Z.json and screenshots under assets/screenshots/invoice-receipt-overpayment-20260519T224642Z-*.png.
| Behavior | Observed detail |
|---|---|
| Payment row | payment&option=add created a NUM row with value 2. |
| Payment validation | payment&option=validate returned valid:true and troco:0.03. |
| Final save | saveDocument returned OKDOC and redirected to /vendas/fr/view/OTk5OTAwODQ4. |
| List result | The FR list returned FR 9999/848 as LIQ / Finished with total 1.97, paid value 1.97, and pending value 0.00. |
| Stock effect | Warehouse stock moved from -27 to -28. |
Detailed how-to: How to Handle Overpayment on an Invoice / Receipt.