There is no good way to represent a multi-input or multi-output transaction in Koinly.
As a best practice I use multi-sig wallets for BTC storage. These are already a challenge because of no support for multi-sig XPUB files - even though most wallet software can import multi-sig just fine. Koinly requires all the wallet addresses to be manually added, or imported via CSV.
Another best practice is to never reuse wallet addresses. Each transaction goes in a new wallet, and you wind up with dozens of wallets in a single XPUB (each one manually entered for multi-sig). Occasionally you may want to consolidate them into a single larger UTXO, again at a fresh unused address. This means creating a many-input to one-output transaction.
The counter example is a one-to-many transaction, which would be most on-chain BTC transactions. You have the original large UTXO, a recipient address getting paid, and a change address to receive the remainder which creates a new UTXO. This is a one-to-two address transaction. Koinly does not handle this properly, usually assuming the payment was a transaction fee and the change address was the recipient.
Even though the transaction ID matches, and all wallet addresses are tracked, Koinly fails to detect what's going on. I have manually entered all my multi transactions individually hoping they could be merged, but they cannot. Now I have seven manual transactions and a bunch of deleted API transactions, to represent the one consolidation, and two more to represent the payment with change address.