# pup-calamity/vba-repository architecture

> Architecture diagram of the GitHub repository pup-calamity/vba-repository, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/pup-calamity/vba-repository
- Repository: https://github.com/pup-calamity/vba-repository

## Overview

This appears to be an Excel/VBA workflow tool for jobs, vendors, waivers, invoices, and related reminders. The filenames suggest a user workflow spanning job setup, waiver handling, email follow-up, and invoice/OnBase or Business Central tasks. The repository has no README or source excerpts, so these are capability clues rather than verified call relationships. The graph groups the identifiable forms, domain records, and routines; it omits edges because their callers and data transfers cannot be established from filenames alone.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["User workflows"]
  node_newjob["New job setup<br/>[NewJobSetup.frm]"]
  node_vendorform["Add vendor<br/>[AddVendForm.frm]"]
  node_waiverselections["Waiver selections"]
  node_keynotes["Key notes<br/>[KeyNotes.frm]"]
  node_latewaiverui["Late waiver UI<br/>[LateWaiver.frm]"]
  node_helpsteps["Help steps<br/>[HelpSteps.frm]"]
end

subgraph group_waivers["Waiver handling"]
  node_jobinfo["Job information<br/>[JobInfo.cls]"]
  node_vendorinfo["Vendor information<br/>[VendorInfo.cls]"]
  node_waiverinfo["Waiver information<br/>[WaiverInfo.cls]"]
  node_createwaiver["Create waivers<br/>[CreateWaiver.bas]"]
  node_waiverinquiry["Waiver inquiries<br/>[FinalWaiverInq.bas]"]
  node_waiverconditions["Waiver conditions"]
  node_conditions["Condition logic<br/>[xConditions.bas]"]
end

subgraph group_communications["Email and reminders"]
  node_emailtemplates["Email templates<br/>[EmailTemplates.bas]"]
  node_sendemails["Send emails<br/>[SendEmails.bas]"]
  node_sendall["Bulk sending<br/>[SendAll.bas]"]
  node_sendreminders["Send reminders<br/>[SendReminders.bas]"]
  node_onbasereminders["OnBase reminders"]
  node_ar44days["44-day follow-up<br/>[AR44Days.bas]"]
end

subgraph group_finance["Invoices and systems"]
  node_invoiceshold["Invoices on hold<br/>[InvoicesOnHold.bas]"]
  node_texasinvoices["Texas invoices<br/>[TexasInvoices.bas]"]
  node_sendtobc["Send to BC<br/>[SendToBC.bas]"]
  node_reducingonbase["OnBase processing<br/>[ReducingOnbase.bas]"]
end

subgraph group_shared["Shared logic"]
  node_datacollection["Data collection"]
  node_functions["Shared functions<br/>[Functions.bas]"]
  node_reporting["Report routines<br/>[ReportSubs.bas]"]
  node_autosave["Auto-save<br/>[AutoSave.bas]"]
end

click node_newjob "https://github.com/pup-calamity/vba-repository/blob/main/NewJobSetup.frm"
click node_vendorform "https://github.com/pup-calamity/vba-repository/blob/main/AddVendForm.frm"
click node_waiverselections "https://github.com/pup-calamity/vba-repository/blob/main/WaiverSelections.frm"
click node_keynotes "https://github.com/pup-calamity/vba-repository/blob/main/KeyNotes.frm"
click node_latewaiverui "https://github.com/pup-calamity/vba-repository/blob/main/LateWaiver.frm"
click node_helpsteps "https://github.com/pup-calamity/vba-repository/blob/main/HelpSteps.frm"
click node_jobinfo "https://github.com/pup-calamity/vba-repository/blob/main/JobInfo.cls"
click node_vendorinfo "https://github.com/pup-calamity/vba-repository/blob/main/VendorInfo.cls"
click node_waiverinfo "https://github.com/pup-calamity/vba-repository/blob/main/WaiverInfo.cls"
click node_createwaiver "https://github.com/pup-calamity/vba-repository/blob/main/CreateWaiver.bas"
click node_waiverinquiry "https://github.com/pup-calamity/vba-repository/blob/main/FinalWaiverInq.bas"
click node_waiverconditions "https://github.com/pup-calamity/vba-repository/blob/main/ConditionFunctions.bas"
click node_conditions "https://github.com/pup-calamity/vba-repository/blob/main/xConditions.bas"
click node_emailtemplates "https://github.com/pup-calamity/vba-repository/blob/main/EmailTemplates.bas"
click node_sendemails "https://github.com/pup-calamity/vba-repository/blob/main/SendEmails.bas"
click node_sendall "https://github.com/pup-calamity/vba-repository/blob/main/SendAll.bas"
click node_sendreminders "https://github.com/pup-calamity/vba-repository/blob/main/SendReminders.bas"
click node_onbasereminders "https://github.com/pup-calamity/vba-repository/blob/main/OnbaseReminders.bas"
click node_ar44days "https://github.com/pup-calamity/vba-repository/blob/main/AR44Days.bas"
click node_invoiceshold "https://github.com/pup-calamity/vba-repository/blob/main/InvoicesOnHold.bas"
click node_texasinvoices "https://github.com/pup-calamity/vba-repository/blob/main/TexasInvoices.bas"
click node_sendtobc "https://github.com/pup-calamity/vba-repository/blob/main/SendToBC.bas"
click node_reducingonbase "https://github.com/pup-calamity/vba-repository/blob/main/ReducingOnbase.bas"
click node_datacollection "https://github.com/pup-calamity/vba-repository/blob/main/DataCollectionFunctions.bas"
click node_functions "https://github.com/pup-calamity/vba-repository/blob/main/Functions.bas"
click node_reporting "https://github.com/pup-calamity/vba-repository/blob/main/ReportSubs.bas"
click node_autosave "https://github.com/pup-calamity/vba-repository/blob/main/AutoSave.bas"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_newjob,node_vendorform,node_waiverselections,node_keynotes,node_latewaiverui,node_helpsteps toneBlue
class node_jobinfo,node_vendorinfo,node_waiverinfo,node_createwaiver,node_waiverinquiry,node_waiverconditions,node_conditions toneAmber
class node_emailtemplates,node_sendemails,node_sendall,node_sendreminders,node_onbasereminders,node_ar44days toneMint
class node_invoiceshold,node_texasinvoices,node_sendtobc,node_reducingonbase toneRose
class node_datacollection,node_functions,node_reporting,node_autosave toneIndigo
```

## Components

### User workflows

- [New job setup](https://github.com/pup-calamity/vba-repository/blob/main/NewJobSetup.frm): `NewJobSetup.frm`
- [Add vendor](https://github.com/pup-calamity/vba-repository/blob/main/AddVendForm.frm): `AddVendForm.frm`
- [Waiver selections](https://github.com/pup-calamity/vba-repository/blob/main/WaiverSelections.frm): `WaiverSelections.frm`
- [Key notes](https://github.com/pup-calamity/vba-repository/blob/main/KeyNotes.frm): `KeyNotes.frm`
- [Late waiver UI](https://github.com/pup-calamity/vba-repository/blob/main/LateWaiver.frm): `LateWaiver.frm`
- [Help steps](https://github.com/pup-calamity/vba-repository/blob/main/HelpSteps.frm): `HelpSteps.frm`

### Waiver handling

- [Job information](https://github.com/pup-calamity/vba-repository/blob/main/JobInfo.cls): `JobInfo.cls`
- [Vendor information](https://github.com/pup-calamity/vba-repository/blob/main/VendorInfo.cls): `VendorInfo.cls`
- [Waiver information](https://github.com/pup-calamity/vba-repository/blob/main/WaiverInfo.cls): `WaiverInfo.cls`
- [Create waivers](https://github.com/pup-calamity/vba-repository/blob/main/CreateWaiver.bas): `CreateWaiver.bas`
- [Waiver inquiries](https://github.com/pup-calamity/vba-repository/blob/main/FinalWaiverInq.bas): `FinalWaiverInq.bas`
- [Waiver conditions](https://github.com/pup-calamity/vba-repository/blob/main/ConditionFunctions.bas): `ConditionFunctions.bas`
- [Condition logic](https://github.com/pup-calamity/vba-repository/blob/main/xConditions.bas): `xConditions.bas`

### Email and reminders

- [Email templates](https://github.com/pup-calamity/vba-repository/blob/main/EmailTemplates.bas): `EmailTemplates.bas`
- [Send emails](https://github.com/pup-calamity/vba-repository/blob/main/SendEmails.bas): `SendEmails.bas`
- [Bulk sending](https://github.com/pup-calamity/vba-repository/blob/main/SendAll.bas): `SendAll.bas`
- [Send reminders](https://github.com/pup-calamity/vba-repository/blob/main/SendReminders.bas): `SendReminders.bas`
- [OnBase reminders](https://github.com/pup-calamity/vba-repository/blob/main/OnbaseReminders.bas): `OnbaseReminders.bas`
- [44-day follow-up](https://github.com/pup-calamity/vba-repository/blob/main/AR44Days.bas): `AR44Days.bas`

### Invoices and systems

- [Invoices on hold](https://github.com/pup-calamity/vba-repository/blob/main/InvoicesOnHold.bas): `InvoicesOnHold.bas`
- [Texas invoices](https://github.com/pup-calamity/vba-repository/blob/main/TexasInvoices.bas): `TexasInvoices.bas`
- [Send to BC](https://github.com/pup-calamity/vba-repository/blob/main/SendToBC.bas): `SendToBC.bas`
- [OnBase processing](https://github.com/pup-calamity/vba-repository/blob/main/ReducingOnbase.bas): `ReducingOnbase.bas`

### Shared logic

- [Data collection](https://github.com/pup-calamity/vba-repository/blob/main/DataCollectionFunctions.bas): `DataCollectionFunctions.bas`
- [Shared functions](https://github.com/pup-calamity/vba-repository/blob/main/Functions.bas): `Functions.bas`
- [Report routines](https://github.com/pup-calamity/vba-repository/blob/main/ReportSubs.bas): `ReportSubs.bas`
- [Auto-save](https://github.com/pup-calamity/vba-repository/blob/main/AutoSave.bas): `AutoSave.bas`
