Create an INSTEAD OF TRIGGER for INSERT something like following
CREATE TRIGGER MyTrigger ON dbo.RECEIPT
INSTEAD OF INSERT
AS
BEGIN
DECLARE @InvoiceId AS VARCHAR(100)
DECLARE @Amount AS MONEY
SELECT @InvoiceId = I.Invoice_Ref,@Amount = I.Amount from INSERTED I;
IF((SELECT Amount FROM INVOICES WHERE Invoice_Id=@InvoiceId)>=
(SELECT SUM(Amount) FROM RECEIPT WHERE Invoice_Ref=@InvoideId)+@Amount)
BEGIN
RAISERROR('Cannot insert due to amt validation',16,1);
END
ELSE
BEGIN
INSERT INTO RECEIPT (Invoice_Ref, Amount, Date_Time)
VALUES (@InvoiceId, @Amount, GETDATE())
END
END
Note: This is just an approach, you need to implement the logic and changes as per your requirement. Also I haven't executed the query in SSMS so can't gurantee about typos/syntax errors.
Hope, it helps. In case of any query, please let me know :)