Design and implement a lightweight data extraction automation that allows Seymour Auto to extract raw operational data from Powerlink and populate a predefined Google Sheets template on a scheduled basis. The initial scope of this milestone is strictly limited to invoice data extraction. Scope 11.1 Data Scope (Initial Release – Mandatory Constraint) The automation shall support invoice data only in this milestone. Quotes, work orders, inventory, and all other datasets are explicitly out of scope and reserved for future phases. UI elements for non-invoice data may exist only as placeholders and must be: o Disabled, or o Clearly labeled as “Future Scope / Non-Functional.” 11.2 Data Schema & Destination Extract all columns exactly as defined in the provided Powerlink to Google Sheets Raw Data Extraction Template. Populate data into the existing Google Sheets file provided by Seymour Auto. The automation must not create new Google Sheets files. Each execution must overwrite / refresh the existing dataset — no appending is permitted. A last sync timestamp must be written to the sheet on each successful refresh. 11.3 Powerlink Data Extraction Retrieve raw invoice data directly from Powerlink based on: o User-selected date range o Optional salesperson filter (ALL must be supported) No transformation, enrichment, aggregation, or normalization is required beyond: o Field-to-column mapping. Extracted values must reflect Powerlink source data as-is. 11.4 Google Sheets Structure & Data Protection (Non-Negotiable) All extracted invoice data must be written exclusively to a dedicated “Raw Data” tab within the provided Google Sheets file. The Raw Data tab must be locked / protected such that: o No manual edits can be made by users. o No formulas, filters, or automation logic may be modified. Seymour Auto will create additional tabs (e.g., Sheet 2, Sheet 3, Sheet 4, Sheet 5) for: o Filtering o Rule application o Derived views These additional tabs are explicitly outside the scope of this SOW and must not be altered or managed by the Contractor. The Contractor is responsible only for: o Writing clean, raw data to the locked Raw Data tab o Maintaining the integrity of that dataset 11.5 User Interface (Lightweight) Provide a simple internal UI consistent with the supplied wireframe, supporting: Date range selection (From / To) Salesperson selection (default: ALL) Data source selection: o Invoices only (enabled) o All other data sources disabled or labeled as placeholders Destination selection: o Google Sheets only Manual export trigger (e.g., “Export”) Scheduled export configuration: o Frequency: Nightly or Weekly o Optional end date 11.6 Scheduled Automation Allow users to configure scheduled exports via the UI. On scheduled execution, the system must: 1. Extract invoice data from Powerlink 2. Refresh the locked Raw Data tab in Google Sheets 3. Update the last sync timestamp Failed runs must be logged and clearly surfaced for troubleshooting. 11.7 Error Handling & Logging Implement basic error handling for: Powerlink connection failures Google Sheets write or permission errors Invalid date ranges or configuration inputs Maintain a simple execution log capturing: Run timestamp Success / failure status Error message (if applicable) Deliverables Functional invoice-only data extraction automation Lightweight internal UI for manual and scheduled exports Google Sheets integration that refreshes the provided template Locked / protected Raw Data tab implementation Basic execution logging Setup and usage documentation Non-Negotiable Constraints (Summary for Contractor) Invoice data only (no quotes, work orders, or inventory) Do not create new Google Sheets files Always refresh existing data (no append behavior) Raw Data tab must be locked and immutable UI may include placeholders, but only invoice extraction is functional No data enrichment or transformation required