Hi Mansi,
This is a great use case, and while standard Business Central permissions offer some flexibility, your requirement goes slightly beyond what can be achieved out-of-the-box and would likely require a minor customization. Here's a breakdown:
Standard Permissions
You can restrict access to the Sales Order table (36) using permission sets. However, standard permissions do not support record-level security, meaning you can't conditionally allow editing based on who created the record.
Recommended Customization
To meet your requirement, you can implement a custom check using AL code:
Extend the Sales Header table to store the Created By user ID (if not already tracked).
In the OnModify and OnDelete triggers (or via event subscribers), add logic like:
if Rec."Created By" <> UserId then
Error('You can only modify or delete Sales Orders you created.');
Optionally, use page extensions to disable actions or fields for records not created by the current user.
Alternative Approach
If you prefer not to customize, you could:
Allow all users to create and edit.
Use workflow approvals to lock records after submission.
Filter views or use custom pages to limit visibility.
Let me know if you’d like help drafting the AL logic or designing the structure.
Best regards,
Daniele