How about modifying the transactions this way?
2023/07/18 * OpenAI Invoice
liabilities:vendors:openai $ -14.83
expenses:programming
2023/07/24 * OpenAI Payment Receipt
liabilities:card:icici Rs -1267.82
liabilities:vendors:openai $ 14.83
2023/08/08 * OpenAI Invoice
liabilities:vendors:openai $ -0.79
expenses:programming
2023/08/15 * OpenAI Payment Receipt
liabilities:card:icici Rs -68.36
liabilities:vendors:openai $ 0.79
2023/09/13 * OpenAI Invoice
liabilities:vendors:openai $ -10.67
expenses:programming
2023/10/03 * OpenAI Payment Receipt
liabilities:card:icici Rs -924.11
liabilities:vendors:openai $ 10.67
Then when you run a balance report you get the following:
$ ledger -f vedang.txt bal | cat
$ 26.29 expenses:programming
Rs -2260.29 liabilities:card:icici
--------------------
$ 26.29
Rs -2260.29
You can also keep the currency conversions in-card (handy if the clearance date is different to the payment date)
2023/07/18 * OpenAI Invoice
liabilities:vendors:openai $ -14.83
expenses:programming
2023/07/24 * OpenAI Payment Receipt
liabilities:card:icici $ -14.83
liabilities:vendors:openai
2023/07/24 * Currency Conversion
liabilities:card:icici Rs -1267.82
liabilities:card:icici $ 14.83
2023/08/08 * OpenAI Invoice
liabilities:vendors:openai $ -0.79
expenses:programming
2023/08/15 * OpenAI Payment Receipt
liabilities:card:icici $ -0.79
liabilities:vendors:openai
2023/08/15 * Currency Conversion
liabilities:card:icici Rs -68.36
liabilities:card:icici $ 0.79
2023/09/13 * OpenAI Invoice
liabilities:vendors:openai $ -10.67
expenses:programming
2023/10/03 * OpenAI Payment Receipt
liabilities:card:icici $ -10.67
liabilities:vendors:openai
2023/10/03 * Currency Conversion
liabilities:card:icici Rs -924.11
liabilities:card:icici $ 10.67
$ ledger -f vedang2.txt bal | cat
$ 26.29 expenses:programming
Rs -2260.29 liabilities:card:icici
--------------------
$ 26.29
Rs -2260.29