Generate BPA Files V2 — User Manual

Tool: Generate BPA Files V2  |  Version: 2.0  |  Platform: Microsoft Excel (Windows)

Who this manual is for: This guide is written for everyday users with no programming background. Every step is described exactly as it appears on screen. If you can open Excel and click a button, you can use this tool.
Contents
  1. What Does This Tool Do?
  2. Workbook Overview
  3. First-Time Setup
  4. The Two-Step Workflow
  5. Step 1 — Build To Do Sheet
  6. Step 2 — Generate Output Files
    1. First Time: Open Mapper (create configs)
    2. Every Run: Run Template Batch
  7. Reviewing and Editing the To Do Sheet
  8. Template Tabs Explained
  9. Reference Tabs
  10. Deployment Scenarios and Sharing the Workbook
  11. Send Email
  12. Oracle Refresh
  13. Troubleshooting

1. What Does This Tool Do?

The Generate BPA Files V2 macro automates the production of Oracle ERP upload files from a daily RFQ (Request for Quotation) spreadsheet. Without this tool, a user would need to manually copy data from the RFQ file into several Oracle upload templates — a process that is slow and error-prone.

This tool handles that automatically:

What it producesWhat Oracle does with it
BPA TXT file (one per BPA number)Updates Blanket Purchase Agreement contract lines
Update Lead Times fileUpdates item lead times in Oracle
Update Buyer Names fileReassigns item buyer codes in Oracle
Assignment Set fileAssigns sourcing rules to items and organisations
In plain terms: You give the tool your RFQ Excel file. It reads the data, validates it, lets you review a clean list, and then creates all the Oracle upload files automatically — named, formatted, and ready to submit.

2. Workbook Overview

The Run Sheet

When you open the workbook, go to the Run tab. This is the main control panel. All five buttons are here.

ButtonWhat it doesWhen to use it
Build To Do Reads your RFQ source file and writes a clean, validated list to the To Do tab. Every run — always the first step.
Open Mapper Opens the Template Mapper form, where you create or edit output configurations. First time only (or when you need to change a mapping).
Run Template Batch Uses your saved configurations to generate all output files in one click. Every run — after reviewing the To Do sheet.
Send Email Opens a draft Outlook email with all output files attached. After files are generated and ready to distribute.
Oracle Refresh Refreshes the Sourcing Rule reference data from an Oracle extract. When the Sourcing_Rule tab needs updating.

The Workbook Tabs

Tab namePurposeDo you edit it?
RunMain control panel. Buttons and settings.Yes — fill in Source Path, Initials, Output Path, Email.
To DoValidated data extracted from the RFQ file. Review before generating files.Yes — review and correct Sourcing_Rule_Name.
LogRecord of every row processed, including skip reasons.No — read only.
File_LogList of every output file created in the last batch run.No — read only.
Email_TemplateEmail recipient addresses, subject line, and body text.Yes — set up once.
BUYER_IDMaps buyer full names to Oracle buyer codes.Yes — keep up to date.
Sourcing_RuleOracle Sourcing Rule reference data used to fill the Assignment Set template.No — updated by Oracle Refresh.
BPA_FiltersNamed filter sets that control which rows are included in the To Do sheet.Yes — managed via the Build To Do form.
BPA_SkipRulesRules that determine when a row is skipped during validation.Rarely — adjust only if validation rules change.
Saved_ConfigsStores your saved Template Mapper configurations. The Output_Path column can be edited directly to redirect output without re-creating configs.Mostly no — but Output_Path can be edited manually.
TEMP_BPA_TXTBlank BPA contract upload template. Used by the Mapper.No — do not modify.
TEMP_UPDATE_LEAD_TIMESBlank Lead Times upload template.No — do not modify.
TEMP_UPDATE_BUYER_NAMESBlank Buyer Names upload template.No — do not modify.
TEMP_ASSIGNMENT_SETBlank Assignment Set upload template.No — do not modify.

3. First-Time Setup

Complete these steps once before your first run. You will not need to repeat them.

3.1 — Fill In the Run Sheet

Open the Run tab. The left column shows labels; type your values in column B.

FieldWhat to enterExample
Source PathThe folder where your RFQ Excel file is saved.C:\Users\darek.krawczynski\Documents\Tools\BPA
Source FileThe filename of your RFQ file (including extension).RFQ_MK_2026.xlsx
Source TabThe sheet name inside that file that contains the data.2026
Output PathThe folder where generated files will be saved.C:\Users\darek.krawczynski\Documents\Tools\BPA\Outputs
InitialsYour two- or three-letter initials. Used in output file names.DK
Tip: The Build To Do button also has a Browse button inside the form — you can pick your source file from there and it will update the Run sheet automatically.

3.2 — Set Up the Email Template

Open the Email_Template tab and fill in the following rows:

Row labelWhat to enter
ToRecipient email address(es), separated by semicolons.
CCCC email address(es), separated by semicolons.
SubjectEmail subject line. You may use the token {DATE} which is replaced automatically with today's date.
BodyBody text. The token {FILES} is replaced with a list of attached file names.

3.3 — Populate the BUYER_ID Tab

Open the BUYER_ID tab. This table maps each buyer's full name (as it appears in the RFQ file) to their Oracle Buyer ID code. There are two columns:

Important: If a buyer's name appears in the source data but has no entry here, the row will be skipped and logged with the reason "Buyer missing".

3.4 — Create Your Template Configs (Open Mapper)

This is a one-time step. You need to tell the tool how to map data from the To Do sheet into each of the four output templates. This is done using the Open Mapper button. See Section 6a for full instructions.

4. The Two-Step Workflow

Every time you need to generate BPA files, you follow two steps:

STEP 1
Build To Do
STEP 2
Run Template Batch
Click Build To Do.
Browse to your RFQ source file.
Set any column filters needed.
Click Run.

Then open the To Do tab and review the data — especially the Sourcing_Rule_Name column.
Click Run Template Batch.
Select your saved configs.
Select the To Do tab as the source.
Click Run.

Output files are created in your Output folder, named and ready to upload.
The first time you use the tool, there is an additional step between Step 1 and Step 2: you must create your saved configurations using Open Mapper. Once that is done, you never need to repeat it — future runs go straight from Step 1 to Step 2.

5. Step 1 — Build To Do Sheet

This step reads your RFQ source file, validates every row, and writes the clean result to the To Do tab.

1 On the Run tab, click Build To Do.
The Build To Do form opens.
2 Click Browse... and navigate to your RFQ source file. Select it and click OK.
The tool automatically scans the file and populates the Source Tab dropdown and the column filter rows below.
3 Select the correct source tab from the Source Tab dropdown if the file has more than one sheet.
4 Set column filters (optional but recommended).
Each row in the filter panel corresponds to one column in the source file. Leave a field blank to include all values from that column. Type comma-separated values to include only specific rows.

Special filter keywords:
  • YES — includes only rows where the cell contains a value recognised as "yes" (Y, Yes, TRUE, etc.).
  • BLANK — includes only rows where the cell is empty.
To include only rows where the Decision column is "Yes", add a filter row for Decision with value YES. This is the most common setup and is recommended as the default active filter set.
5 Save your filter set (optional).
If you use the same filters every time, type a name in the Filter Set Name field and click Save Set. You can reload it next time with Load Set.
6 Click Run.
The macro reads the source file, validates each row against the skip rules, resolves buyer IDs, and writes all passing rows to the To Do tab.
A progress bar shows the status. When complete, a summary message appears.
7 Review the To Do sheet before continuing.
See Section 7 for what to check.

What Happens Behind the Scenes

6. Step 2 — Generate Output Files

6a. First Time Only — Open Mapper (Create Saved Configs)

Before you can use Run Template Batch, you need to create one saved configuration for each output template. You do this once using Open Mapper. You need to create four configs:

Config name (suggested)Template tabWhat it produces
BPA_TXTTEMP_BPA_TXTOne BPA contract file per BPA number
LEAD_TIMESTEMP_UPDATE_LEAD_TIMESLead time update file
BUYER_NAMESTEMP_UPDATE_BUYER_NAMESBuyer name update file
ASSIGNMENT_SETTEMP_ASSIGNMENT_SETSourcing rule assignment file

Follow these steps for each of the four configs:

1 Click Open Mapper on the Run tab. The Template Mapper form opens.
2 Template section (top of form):
Select This workbook — tab: and choose the appropriate TEMP_ tab from the dropdown. Then click Scan Template. The Column Mapping section will populate with the template's column names.
3 Data Source section:
Select This workbook — sheet: and choose To Do from the dropdown.
The tool scans the To Do headers and shows a preview of the first few rows.
4 Column Mapping section:
For each row, set the Type and Source / Value:
  • SKIP — this template column is left blank. No value is written.
  • COL — copy a value from a source column. Choose the column name from the dropdown.
  • STATIC — write the same fixed text for every row. Type the value in the Source/Value field.
  • COUNT — automatically number rows 1, 2, 3…
  • DATE — reads a date from a source column. If the date is in the past or blank, today's date is used. Formatted as 23-MAR-2026.
  • LOOKUP — looks up a value from a named lookup table (advanced).
Norm checkbox: Tick this for text columns where you want the macro to clean up extra spaces and special characters automatically.
5 Filter / Group section:
This controls how rows are split into separate files.
  • For BPA_TXT: set Group by column to BPA no., select Not blank, and set Output to One file per group value. This creates one file per BPA number automatically.
  • For all other configs: leave Group by column blank and select One combined file.
6 Output section:
  • Set the Folder to your output path (same as the Run sheet Output Path).
  • Choose the file format: Tab-delimited (.txt) for BPA_TXT; Excel 97-2003 (.xls) for the others.
  • The File Pattern controls the output file name. Tokens are replaced automatically:
    • {DATE} → today's date, e.g. 25MAR2026
    • {GROUP} → the BPA number (when grouping by BPA no.)
    • {TMPL} → the template tab name
    • {INITIALS} → your initials from the Run sheet
    For BPA_TXT, use: {GROUP}_BPA_{DATE} to get 111306362_BPA_25MAR2026.txt
7 Click Save Config.
Type a name (e.g. BPA_TXT) and click OK. The config is saved to the Saved_Configs tab and will appear in the Run Template Batch form from now on.
8 Click Close and repeat from Step 1 for the next template.
6b. Every Run — Run Template Batch

Once your four configs exist, this is all you need to do to generate the output files.

1 On the Run tab, click Run Template Batch.
The Batch Run form opens, showing a list of all your saved configs.
2 Select the configs to run.
Tick the checkbox next to each config you want. To run all four, tick all four.
You can run just one config if you only need to regenerate a specific file type.
3 Select the data source.
Choose This Workbook Tab and select To Do from the dropdown.
This tells the batch to use the data you built in Step 1.
4 Click Run.
The macro processes each selected config in sequence. A progress bar shows which config is currently running and how far along it is.
5 When complete, a summary message shows how many files were created.
The File_Log tab lists every file created, including its name, config, and row count.
6 Navigate to your output folder and confirm the files are there. They are ready to upload to Oracle.

7. Reviewing and Editing the To Do Sheet

After clicking Build To Do, always open the To Do tab before running the batch. The most important column to check is Sourcing_Rule_Name.

Sourcing Rule Name

The macro automatically matches each vendor to a sourcing rule from the Sourcing_Rule reference tab using the vendor name, currency, and rank. The result is placed in the Sourcing_Rule_Name column.

Do not modify column headers on the To Do sheet. Only edit values in data cells. Changing column headers will break the batch run.

Other Columns to Check

ColumnWhat to look for
PriceShould be a positive number. Rows with zero or negative price are skipped.
Lead Time [days]Should be a whole number. Ranges (e.g. “30-45”) use the upper value.
BuyerShould resolve to a buyer code. If missing, check the BUYER_ID tab.
BPA no.Must be exactly 9 digits. Rows with invalid BPA numbers are excluded.

Checking Skipped Rows

If the row count in the To Do sheet seems lower than expected, check the Log tab. Every skipped row appears there with:

8. Template Tabs Explained

The four TEMP_ tabs are blank Oracle upload templates embedded in the workbook. The macro copies data into a fresh copy of these templates for each output file — the originals are never modified.

TabOracle upload typeOutput mode
TEMP_BPA_TXT Blanket Purchase Agreement contract lines One .txt file per BPA number (e.g. 111306362_BPA_25MAR2026.txt)
TEMP_UPDATE_LEAD_TIMES Item lead time update One combined .xls file for all items
TEMP_UPDATE_BUYER_NAMES Item buyer assignment One combined .xls file for all items
TEMP_ASSIGNMENT_SET Sourcing rule assignment One combined .xls file for all items
Do not add, remove, or rename columns in any TEMP_ tab. The Mapper configuration references columns by name. Any change will break the mapping.

9. Reference Tabs

BUYER_ID

Maps buyer full names to Oracle buyer codes. The macro uses this during Build To Do to resolve the buyer code for each row.

ColumnDescription
Buyer Full NameExactly as it appears in the RFQ source file (not case-sensitive).
BUYER_IDThe Oracle buyer code for that person.

Sourcing_Rule

Contains Oracle sourcing rule data used to auto-populate the Sourcing_Rule_Name column on the To Do sheet during Build To Do. This tab is normally populated using the Oracle Refresh button, but you can also edit it manually to add or adjust rules — for example, to set preferred Rank values.

ColumnDescription
Vendor_NumberOracle vendor number. Used as the primary match key.
Vendor_NameVendor name. Used for fuzzy matching when the vendor number is absent or does not match.
Vendor_Site_CodeVendor site code.
Sourcing_Rule_NameThe rule name written into the To Do sheet and the Assignment Set template.
CurrencyUsed to prioritise the best match when multiple rules exist for one vendor. The rule whose currency matches the RFQ row is preferred.
RankYour preferred priority order. Lower number = higher priority. Blank = lowest priority.

How Sourcing Rule Matching Works

When multiple sourcing rules exist for the same vendor, the macro selects the best one using the following priority order (highest to lowest):

  1. Currency match — the rule whose Currency matches the row's currency in the RFQ is preferred.
  2. Rank — among rules with equal currency match, the one with the lowest Rank number wins.
  3. Fuzzy vendor name score — if Rank is blank for all candidates, the closest name match is used.
  4. First match — if everything else is equal, the first row in the tab wins.

If more than one rule is equally good, a dropdown is placed in the Sourcing_Rule_Name cell on the To Do sheet so the user can make the final selection manually.

Setting Up Rank Values

The Rank column gives you direct control over which sourcing rule is selected when a vendor has multiple options. This is the recommended approach when you always want a specific rule for a vendor.

Example: Vendor BASS ANTRIEBSTECHNIK GMBH has three rules — one with a full name and vendor number, one with a short name, and one generic. To ensure the full-name rule is always chosen, set its Rank to 1 and leave the others blank (or set them to 2 and 3). The macro will select Rank 1 automatically without showing a dropdown.
How to edit Rank: Open the Sourcing_Rule tab directly in Excel. Find the vendor rows you want to prioritise and type a number in the Rank column. Use 1 for the preferred rule, 2 for the fallback, and so on. Rows with no Rank value are treated as the lowest priority.
Important: If you run Oracle Refresh, it will overwrite the Sourcing_Rule tab with fresh data from Oracle — any Rank values you have added manually will be lost. Re-apply your Rank values after each Oracle Refresh, or keep a separate record of your preferred rankings.

BPA_Filters

Stores column filter definitions that control which rows from the source file are included in the To Do sheet. The tab has three columns:

ColumnDescription
Set_NameThe name of the filter set this row belongs to.
Header_NameThe source file column to filter on (e.g. Decision, SET).
ValuesThe value(s) to match. Supports YES, BLANK, a literal value, or a comma-separated list.

Two Types of Rows: Named Presets and Active

There are two distinct roles a row in this tab can have, determined entirely by the Set_Name value:

Set_Name valueRoleDoes the macro read it?
Active The live filter set. This is the only set the macro reads when Build To Do runs. Yes — always.
Any other name (e.g. BPA_STANDARD_YES_BLANK) A saved preset. Stored for future reuse but ignored at run time. No — stored only.

How the Workflow Works

  1. Open Build To Do and set your column filters in the form.
  2. Save Set — type a name (e.g. BPA_STANDARD_YES_BLANK) and click Save Set. The macro writes those filter rows to the tab under that name. This is your saved template — you can reload it any time.
  3. Click Run — the macro takes whatever filters are currently in the form and writes them to the tab under the name Active, overwriting the previous Active rows. Only the Active rows are applied during Build To Do.
  4. Next time — open Build To Do, click Load Set, pick your saved preset (e.g. BPA_STANDARD_YES_BLANK), and the form refills with those values. Click Run and they become Active again.
In plain terms: Your named presets are saved templates you can switch between. Active is what is actually running right now. Every time you click Run, the form's current filters become the new Active set automatically.
The name Active is reserved. You cannot save a preset with that name — the form will block it and show a warning. Always use a descriptive name for your presets, such as BPA_STANDARD_YES_BLANK or MY_CUSTOM_FILTER.
Do not edit this tab manually unless you are comfortable with the structure. All filter management should be done through the Build To Do form. Editing rows directly (especially changing a Set_Name to Active) will affect what the macro applies on the next run.

BPA_SkipRules

Defines the validation rules applied to each source row during Build To Do. Each row in this tab is one rule. Rules with Enabled = YES are active.

Rule_TypeWhat it does
REQUIREDSkips the row if the specified column is blank.
DIGITS_LENGTHSkips the row if the column value is not exactly N digits long (e.g. BPA number must be 9 digits).
VALUE_INSkips the row unless the column value matches one of a comma-separated list.
VALUE_NOT_INSkips the row if the column value matches any value in the list.
DUPLICATESkips subsequent rows where this column duplicates a value already written.
PRICE_POSITIVESkips rows where the price cannot be parsed to a value greater than zero.
LEAD_TIMESkips rows where the lead time is blank or not a number (or parseable range).
You do not need to change these rules for normal use. Consult your administrator before modifying them.

10. Deployment Scenarios and Sharing the Workbook

The Workbook is Self-Contained and Portable

Every configuration the macro needs — column mappings, filter sets, skip rules, buyer IDs, email templates, and output paths — is stored inside the workbook itself, across its various tabs. This means the workbook can be copied, emailed, or placed on a shared drive and it will work immediately, with no installation and no external configuration files to manage.

Each user who receives a copy has complete, independent control over their own setup. Changes one user makes to their copy have no effect on anyone else.

Adjusting the Output Path Without Recreating Configs

When a workbook is passed from one person to another, the saved configurations are already complete — the column mappings, filter settings, and file patterns are all correct. The only value that typically needs updating is the Output_Path, which points to a folder on the original user's computer.

You do not need to delete and recreate configs just to change where files are saved. Go directly to the Saved_Configs tab, find the Output_Path column on the meta-row of each config (the bold blue header row for each config block), and type your own folder path.

How to identify the meta-row: Each config block starts with a bold blue row. That row contains the Output_Path, File_Pattern, Filter settings, and template details. The rows below it (normal white rows) are the column mappings and do not contain Output_Path.
Alternatively, open Open Mapper, load the config from the dropdown, update the Output Folder field, and click Save Config. This is safer and recommended if you are not confident editing the sheet directly.

Use Case 1 — Individual User, Personal Workbook

This is the standard setup. Each user has their own copy of the workbook on their computer.

AspectDetail
Workbook locationLocal drive, personal OneDrive folder, or any path the user can access.
Source fileSet on the Run sheet. Browsed and updated each run via Build To Do.
Output folderSet in Saved_Configs Output_Path. Points to the user's own output folder.
ConfigsCreated once using Open Mapper. Never need to be recreated unless the template structure changes.
BUYER_ID tabMaintained by the user. Only needs updating when buyers are added or removed.
Receiving a new versionCopy the new workbook, open Saved_Configs, update Output_Path on each config's meta-row to point to your folder. Done.
Typical first-time setup time: 20–30 minutes to create the four configs and fill in the Run sheet. All subsequent runs take 2–3 minutes from source file to output files.

Use Case 2 — Team Sharing a Single Workbook

A team can share one workbook placed on a network drive, SharePoint sync folder, or shared OneDrive location. Because all configuration lives inside the workbook, the team immediately benefits from any improvements made by one member.

AspectDetail
Workbook locationShared network folder, OneDrive shared folder, or SharePoint document library synced locally.
Output folderEach user updates Output_Path in Saved_Configs to point to their own output folder. Alternatively, a shared output folder can be used so all team members write files to the same location.
ConfigsCreated once by one team member. All others inherit the same configs when they open the shared workbook — no individual setup needed.
BUYER_ID tabMaintained centrally. One person updates it; all team members benefit immediately.
Sourcing_Rule tabUpdated centrally via Oracle Refresh. One refresh benefits the whole team.
Simultaneous editingExcel does not support two people editing a macro-enabled workbook at the same time. Coordinate within the team — one person runs the macro at a time.
Important for shared workbooks: If two people open and run the macro at the same time, they may overwrite each other's Log, File_Log, or To Do data. Establish a simple team agreement (e.g. a Teams message before running) to avoid conflicts.

OneDrive and SharePoint Compatibility

The macro works with OneDrive and SharePoint provided the files are synced to a local folder on your computer. The macro uses standard Windows file paths — it cannot access web URLs directly.

Storage locationCompatible?Notes
Local drive (C:\, D:\, etc.) Yes Always works. Recommended for best performance.
OneDrive (synced local folder) Yes OneDrive syncs to a local folder such as C:\Users\yourname\OneDrive\BPA\Outputs. Use that local path in Output_Path and on the Run sheet. Files are synced to the cloud automatically after the macro writes them.
SharePoint (synced via OneDrive client) Yes When a SharePoint document library is synced to your computer via the OneDrive sync client, it appears as a local folder (e.g. C:\Users\yourname\CompanyName\SiteName - Documents\BPA). Use that local path. Files are uploaded to SharePoint automatically after the macro writes them.
Mapped network drive (\\server\share or Z:\) Yes Works as long as the drive is connected and the path is accessible when the macro runs.
SharePoint web URL (https://...) No The macro cannot use web URLs as file paths. You must sync the library locally first using the OneDrive sync client, then use the resulting local folder path.
Finding your OneDrive or SharePoint local path: Open File Explorer, navigate to your OneDrive or synced SharePoint folder, and copy the path from the address bar at the top. Paste that path into the Output_Path field in Saved_Configs or into the Output Folder in Open Mapper.

11. Send Email

After the batch run is complete and you have confirmed the output files are correct, click Send Email.

The macro:

  1. Reads the To, CC, Subject, and Body from the Email_Template tab.
  2. Reads the list of files created in the last batch run from File_Log.
  3. Opens a new email draft in Microsoft Outlook with all output files attached.
  4. Replaces {DATE} in the subject with today's date, and {FILES} in the body with the file names.
The email is not sent automatically. Outlook opens with a draft that you can review and edit before clicking Send.
Requirement: Microsoft Outlook must be installed and configured on your computer. The macro uses Outlook's COM interface to create the draft.

12. Oracle Refresh

The Sourcing_Rule tab must be kept up to date for the sourcing rule matching to work correctly. When Oracle data changes (new vendors, updated rules, or site code changes), use Oracle Refresh to update it.

1 Export the Sourcing Rules extract from Oracle in Excel format.
2 Click Oracle Refresh on the Run tab.
3 Browse to the Oracle extract file and confirm.
4 The macro clears the old data from Sourcing_Rule and pastes the new data in its place.

13. Troubleshooting

ProblemLikely causeSolution
Build To Do produces no rows (or far fewer than expected) Column filters are too restrictive, or the source file path is incorrect. Check the Log tab for skip reasons. Verify the source path and tab name on the Run sheet.
“Source file not found” error The file has been moved, renamed, or the path on the Run sheet is wrong. Click Browse... in the Build To Do form to pick the file again. The Run sheet updates automatically.
Buyer missing on To Do sheet / rows skipped with “Buyer missing” The buyer name in the source file is not in the BUYER_ID tab. Open the BUYER_ID tab, add the missing buyer name and Oracle ID, then re-run Build To Do.
Sourcing_Rule_Name column is blank for many rows The Sourcing_Rule tab is out of date, or the vendor name does not match closely enough. Run Oracle Refresh to update the Sourcing_Rule data. For individual rows, type the rule name manually.
“No rows matched the filter criteria” during batch run The Filter / Group settings in the saved config do not match any data in the To Do sheet. Open Mapper, load the config, check the Group by column and filter mode settings, then re-save.
“No template columns found” error in Mapper Scan Template was not run, or the template tab name does not exist. In the Mapper form, confirm the correct TEMP_ tab is selected and click Scan Template.
Run Template Batch produces no files No configs are selected, or the source (To Do tab) was not chosen. Ensure at least one config checkbox is ticked and that This Workbook Tab → To Do is selected as the source.
Output file names look wrong The File Pattern in the saved config uses incorrect or missing tokens. Open Mapper, load the config, and correct the File Pattern field. Valid tokens: {DATE} {GROUP} {TMPL} {INITIALS}.
Email button does nothing or shows an Outlook error Microsoft Outlook is not installed, not set as the default mail client, or is not running. Open Outlook manually and try again. If Outlook is not available, attach the files from the output folder manually.
Macro does not run / buttons are greyed out Excel macros are disabled in your security settings. Close the file. Re-open it and click Enable Content when Excel prompts you. If the prompt does not appear, check your Trust Center settings (File → Options → Trust Center → Trust Center Settings → Macro Settings).


Generate BPA Files V2 — User Manual  |  For internal use only  |  Generated 2026  |  To report issues or request enhancements, contact Darek Krawczynski. ytcodes.dev