Hi,
If I were you, if possible according to your application's requirements, I would create a stored procedure to make both changes. Inside stored procedure, write a query to update "Invoice table" and then "Stock Table".
This solution, from my view, is cleaner and maintainable (only use one object to contain code) than using triggers, but it's up to you.
The pseudocode would be similar to:
CREATE PROCEDURE YourProcedureName
@param1 -- Your Params
...
@paramN,
@Quantity
AS
BEGIN
SET NOCOUNT ON;
insert into G_Invoice
values(@param1,..,@paramN,...,@Quantity)
SET T1.Qty = T1.Qty - @Quantity
FROM Stock T1
INNER JOIN G_Invoice T2
ON T1.SR_NO = T2.SR_NO
where
END
GO
Finally, you can call the stored procedure from your access data layer making use of SQL Commands, Entity Framework, etc.