Relation between trade and order objects from API

Hello,
I am trying to fetch my historical transactions for a custom accounting tool and now I am a little stuck in it.

If I am right, to generate BUY / SELL transactions for TAX purposes I need data from the endpoint:

GET /api/v3/myTrades

which returns collection of Trade objects like this

[
{
“symbol”: “BNBBTC”,
“id”: 28457,
“orderId”: 100234,
“orderListId”: -1,
“price”: “4.00000100”,
“qty”: “12.00000000”,
“quoteQty”: “48.000012”,
“commission”: “10.10000000”,
“commissionAsset”: “BNB”,
“time”: 1499865549590,
“isBuyer”: true,
“isMaker”: false,
“isBestMatch”: true
}
]

I iterated over symbols, and for each symbol, I call this endpoint. Then I wanted know, which transaction is SELL and which BUY. I found out this information I can get from Order object from endpoint GET /api/v3/allOrders

Trade object has field orderId so I thought there is one to many relationship between these objects.

When I finally fetch and store all Trades and Orders into database, and link them, I find out that there are Orders objects of type BUY or SELL which doesn’t have Trade items.

I iterate over same symbols to fetch trades and orders, so can you tell how it is possible than there are orders without trades? Each trade object has order, but not each order has trades, so I am confused which objects count to my TAX report and which not. Is my way to get data for TAX correct? Or should I consume different endpoints for this purpose?

I am using Binance API for the first time so I will be glad for any advice.

FILLED or PARTIALLY_FILLED orders must contain atleast one trade. Could you please provide an order which does not contain any trade?