View Categories

Supplier Invoices

3 min read

Overview #

The Supplier Invoices module streamlines the management of invoices received from suppliers, allowing users to create, view, edit, and delete supplier invoices. It tracks key details such as supplier, project, invoice date, status, and financial totals (excluding and including VAT). The module also supports managing invoice items, capturing quantities, costs, and VAT percentages for accurate financial tracking. It integrates with supplier and project data to ensure efficient procurement and accounting workflows within the software using Delphi, DevExpress, and PgDAC, with the TcxGridDBTableView for data display.

Navigate to the Supplier Invoices Module #

  1. From the main application interface, locate the Tile Menu.
  2. Click on the Supplier Invoices tile to open the module.

How to Filter and View Supplier Invoices #

  1. In the Supplier Invoices module, click the Open button on the main list view.
    • This refreshes the invoice list, displaying all supplier invoices based on the transaction type (transTypeId2=2).
    • The TcxGridDBTableView grid displays columns such as Status, Project, Supplier, Reference, Date, User, Total (Exc), Total (VAT), and Total (Inc).
    • Use the grid’s built-in filtering and sorting options to refine the view (e.g., filter by Status or Date).

How to Create a Supplier Invoice #

  1. In the main list view, click the New button.
  2. The interface switches to the Edit view, where you can fill in the following fields:
    • Status: Select from Pending, Active, Complete, or Cancelled using the TcxDBImageComboBox.
    • Supplier: Choose a supplier from the dropdown list (populated via qryContactsLu, filtered for supplier contacts when transTypeId2=2).
    • Project: Select a project from the dropdown list (populated via qryProjectsLu).
    • Reference: Enter a unique reference for the invoice (e.g., supplier invoice number).
    • Date: Set the invoice date using the TcxDBDateEdit date picker.
    • Note: Add any additional notes or comments in the TcxDBMemo (optional).
  3. Click Save to create the supplier invoice, triggering qryTransaction.Post and qryUpdateTotals.ExecSQL to update totals.

How to Edit a Supplier Invoice #

  1. In the main list view, double-click an invoice row in the viwTransactions TcxGridDBTableView or right-click and select Edit from the context menu (pmTransactionList).
  2. The Edit view (tsEdit) opens, allowing you to modify fields (Status, Supplier, Project, Reference, Date, Note).
  3. Click Save to update the supplier invoice, which posts changes via qryTransaction and updates totals.

How to Add a Supplier Invoice Item #

  1. In the Edit view of a supplier invoice, locate the Transaction Items grid (viwTransactionItems) at the bottom.
  2. Click the Add Item button (btnAddItems) to open the lookup form (frmLookupTrans).
    • A modal window appears, allowing you to select items to add, linked to the project (qryTransaction.FieldByName(‘project_id’)).
    • Alternatively, click the Custom button (btnCustom) to manually append a new item row to the TcxGridDBTableView.
  3. Fill in the following fields for the new item in the grid:
    • Description: Enter the item description (TStringField).
    • Quantity: Specify the quantity (TFloatField).
    • Unit: Define the unit of measure (e.g., kg, units, meters) (TStringField).
    • Unit Cost: Enter the cost per unit excluding VAT (TFloatField).
    • VAT %: Specify the VAT percentage (TFloatField, if applicable).
    • Note: Add item-specific notes in the TMemoField (optional).
  4. The system automatically calculates:
    • Total (Exc): Quantity × Unit Cost.
    • Total (VAT): VAT amount based on the VAT percentage.
    • Total (Inc): Total including VAT.
  5. Click Save to save the item (qryTransactionItems.Post) and update the invoice totals via qryUpdateTotals.

How to Delete a Supplier Invoice #

  1. In the main list view, right-click on the Supplier Invoice in the viwTransactions grid.
  2. Select Delete from the context menu (miDelete in pmTransactionList).
  3. Confirm the deletion when prompted in the MessageDlg.
    • Note: If the invoice cannot be deleted due to database constraints (e.g., foreign key issues), an error message will appear, handled in miDeleteClick.

How to Delete a Supplier Invoice Item #

  1. In the main list view, right-click on the Supplier Invoice in the viwTransactions grid.
  2. Select Delete from the context menu (miDelete in pmTransactionList).
  3. Confirm the deletion when prompted in the MessageDlg.

Change Grid Layout #

  1. In the main list view, select the edge of a column header in the viwTransactions TcxGridDBTableView.
  2. Drag the column to reposition it or adjust its width as desired.
  3. To save the customized layout:
    • Click the Menu button (btnMenuList) in the main list view.
    • Select Save Grid Layout (miSaveGridListClick) from the dropdown (pmMenuList).
  4. To restore the default grid layout:
    • Click the Menu button.
    • Select Restore Grid Layout (miRestoreGridListClick).

Notes #

  • The Supplier Invoices module uses a transaction type filter (transTypeId2=2) to display supplier-related invoices. Ensure the correct transaction type is set when accessing the module.
  • Totals (Total Exc, Total VAT, Total Inc) are automatically updated when items are added or modified using the stored procedure (qryUpdateTotals).
  • The Supplier dropdown is filtered to show supplier contacts (via qryContactsLu, where contact_type_id=2 for transTypeId2=2).
  • The module integrates with the main application’s user (frmMain.user_id) and project data (qryProjectsLu) for seamless operation.
  • Use the Copy to options (e.g., miCopyToGoodsReceived) in the context menu (pmCopyMenu) to duplicate supplier invoices to other transaction types, handled by qryCopyTransaction.

Leave a Comment