Best regards,

Root Cause: Sales order calculates unit cost before serial number selection. BC uses average cost until posting when specific cost is applied.
This is standard BC behavior with Specific costing method:
Workarounds:
1. Manual Price Update:
2. Event Subscriber:
[EventSubscriber(ObjectType::Table, Database::"Sales Line", 'OnAfterValidateEvent', 'Item Tracking Lines')]
3. Custom Price Calculation:
Reference: Microsoft Docs - "Design Details: Item Tracking and Costing" https://learn.microsoft.com/en-us/dynamics365/business-central/design-details-costing-methods
Standard behavior - requires customization to show specific cost before posting.
✅ Mark this answer as verified if it helps you.