Identifier not found or not unique

I keep getting this error

DeclarationError: Identifier not found or not unique.
  --> comrades/ComradeToken.sol:38:74:
  |
38 |     function addCurrency(uint256 _paymentId, address _paytoken) external onlyOwner {
  |                                                                          ^^^^^^^^^

But I don't see where is the problem... Here is my code:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

contract ComradeToken is ERC20{

    uint256 public maxSupply; //Maximum amount token
    bool public isMintEnabled; //default : false
    
    constructor() ERC20("Comrade Coin", "CMD") {
        _mint(msg.sender, 9100000000 * 10 ** 18);
        maxSupply = 9100000000;
        isMintEnabled = true;
    }

}

contract ComradeVendor is ComradeToken{

    using SafeERC20 for IERC20;

    struct PaymentErc {
        uint256 id;
        IERC20 paytoken;
        bool isExist;
    }

    PaymentErc[] public PaymentData;
    IERC20 paytoken;

    mapping(uint256=>PaymentErc) public PaymentInfoData;

    function addCurrency(uint256 _paymentId, address _paytoken) external onlyOwner {

        PaymentErc memory newRequest = PaymentErc({
                id: _paymentId,
                paytoken: _paytoken,
                isExist: true
            });
        
        PaymentInfoData[_paymentId] = newRequest;
        
    }

}

Nevermind, I think I found the problem, I forgotten to add Ownable.

from

contract ComradeVendor is ComradeToken{

to

contract ComradeVendor is ComradeToken, Ownable{