I guess I've been misusing the term "ledger." You're exactly right for Ethereum. Bitcoin has transactions with "unspent outputs." Each transaction can have multiple inputs and outputs; to make a transaction you collect unspent outputs from previous transactions, use them as your inputs, and typically make two outputs, one to the payee address and one that holds the change.
I guess I've been misusing the term "ledger." You're exactly right for Ethereum. Bitcoin has transactions with "unspent outputs." Each transaction can have multiple inputs and outputs; to make a transaction you collect unspent outputs from previous transactions, use them as your inputs, and typically make two outputs, one to the payee address and one that holds the change.