Update Purchase Price Daily (GBP Conversion)
Automatically updates inventory purchase prices using purchase order costs, converts foreign currency values to GBP, calculates unit costs, and prevents duplicate processing through automated purchase order tracking.
Maintaining accurate purchase prices across inventory items is essential for inventory valuation, reporting, profitability analysis, and purchasing decisions. Updating purchase prices manually after every purchase order can be time-consuming and may lead to inconsistencies across inventory records.
The Update Purchase Price Daily (GBP Conversion) macro automates this process by retrieving purchase orders, calculating the correct unit purchase cost, converting foreign currency values into GBP when required, and updating the Linnworks Purchase Price field automatically.
To prevent duplicate processing, the macro marks successfully processed purchase orders with an extended property so they are not processed again during future scheduled executions.
Automatically keep inventory purchase prices aligned with the latest purchase order costs while standardising all values into GBP.
Configure the Macro
Once the app is installed, you need to create a macro configuration and schedule so the system can automatically update inventory purchase prices without manual intervention.
This macro does not require any user-configurable parameters.
Steps to Configure
Go to Apps > Macro Configuration and click + Add new configuration.

Select the AutoFileMenifest macro and click Create Configuration.

This creates a new configuration where you can define the schedule and required parameter values.
In the Macro Configuration screen, go to the Schedules tab and click on New Schedules.

-
In the Schedule Config window, enter the Name

-
Select Schedule type from the dropdown:
-
One time runs only once
-
Recurring runs repeatedly based on schedule
-
-
If Recurring is selected:
-
In Frequency, choose Occurs from dropdown:
-
Daily
-
Weekly
-
-
-
Set Recurs every value, for example 1 day or 1 week
-
Set the Starting on date and time
-
Under Daily frequency, choose one option:
-
Occurs once at → specify exact time
-
Occurs every → enter interval in hours and define:
-
Starting time
-
Ending time
-
-
-
Review the Summary section
-
Click Save
-
Enable the schedule and click Save.

Verify the following before saving:
- The schedule is enabled
- The correct macro configuration is selected
- The schedule frequency is configured correctly
- The desired execution time has been specified
Once verified, click Save to activate the schedule.
Make sure to enable the macro to continue with the schedule Engine configuration.

How It Works
Step 1
The macro starts execution and retrieves the latest Linnworks currency conversion rates.
Step 2
Purchase orders from the previous 365 days are retrieved.
Step 3
The currency used for each purchase order is identified.
Step 4
The macro checks whether the purchase order has already been processed.
Step 5
Purchase orders containing the IsPurchasePriceUpdated extended property are skipped.
Step 6
Purchase order line items are retrieved.
Step 7
Foreign currency costs are converted to GBP when required.
Step 8
If quantities exceed one, the total cost is converted into a single-unit purchase cost.
Step 9
The Linnworks Purchase Price field is updated for each inventory item.
Step 10
API update activity is monitored to avoid exceeding update limits.
Step 11
If all inventory items are updated successfully, the purchase order is marked as completed.
Step 12
The IsPurchasePriceUpdated extended property is added to the purchase order.
Step 13
Processing information is written to the execution log.
Step 14
The macro completes and records the final execution status.
Usage of App
Purchase Order Processing
Processes purchase orders created within the last 365 days.
GBP Conversion
Automatically converts foreign currency purchase costs into GBP.
Purchase Price Updates
Updates the Linnworks Purchase Price field for inventory items.
Unit Cost Calculation
Calculates individual unit costs when purchase order quantities exceed one.
Extended Property Tracking
Uses IsPurchasePriceUpdated to prevent duplicate processing.
API Protection
Automatically manages API usage during inventory updates.
Extended Property Used
IsPurchasePriceUpdated = True
Once this property has been applied, the purchase order will not be processed again.
Key Points to Remember
-
Processes purchase orders from the previous 365 days
-
Uses GBP as the base currency
-
Automatically converts foreign currency values
-
Updates inventory purchase prices
-
Calculates unit costs automatically
-
Prevents duplicate processing
-
Uses extended properties for tracking
-
Includes API rate limit protection
-
Logs all processing activity
What You Can Expect
Accurate Purchase Prices
Inventory purchase prices remain aligned with the latest purchase order costs.
Automatic Currency Conversion
Foreign currency values are automatically converted into GBP.
Reduced Manual Maintenance
Purchase price updates occur automatically without user intervention.
Improved Inventory Valuation
Inventory cost values remain consistent and up to date.
Duplicate Processing Prevention
Processed purchase orders are tracked automatically.
Overall Impact
This macro helps maintain accurate inventory purchase prices by automatically updating stock items based on purchase order costs. Currency conversion, quantity handling, duplicate processing protection, and scheduled automation ensure inventory costs remain accurate and consistent across the catalogue.
What To Do After the Macro Runs
Step 1
Review the Macro Execution Log.
Step 2
Verify that purchase orders were processed successfully.
Step 3
Confirm that inventory purchase prices were updated.
Step 4
Verify that the IsPurchasePriceUpdated property was added to processed purchase orders.
Step 5
Continue with normal purchasing and inventory management processes.
Why This Matters
Accurate purchase prices are critical for:
-
Inventory valuation
-
Cost reporting
-
Margin analysis
-
Purchasing decisions
-
Financial reporting
-
Profitability tracking
Automating the update process improves consistency while reducing manual effort.
Best Practices
-
Schedule the macro during off-peak hours
-
Review currency conversion rates regularly
-
Monitor execution logs
-
Validate purchase order costs periodically
-
Test before production deployment
-
Maintain consistent purchasing procedures
Troubleshooting
Purchase Price Not Updated
Verify that the purchase order has not already been marked as processed.
Currency Conversion Appears Incorrect
Review the Linnworks currency conversion rates and ensure they are up to date.
Purchase Order Skipped
Check whether the IsPurchasePriceUpdated extended property already exists.
Inventory Item Not Updated
Review the execution log for update-related errors.
Unexpected Purchase Price
Verify purchase order quantities and purchase order cost values.
Summary
The Update Purchase Price Daily (GBP Conversion) macro automatically updates inventory purchase prices using purchase order costs, converts foreign currency values to GBP, calculates unit costs, and prevents duplicate processing through extended property tracking.
This improves inventory accuracy, reduces manual maintenance, and ensures purchase price information remains consistent across the inventory catalogue.