Roaming method for a charging system (200, 300, 400, 600) with at least two charging subsystems (202.1, 302.1, 302.3, 302.3, 402.1, 402.2), wherein each of the at least two charging subsystems (202.1, 302.1, 302.3, 302.3, 402.1, 402.2) comprises a gateway device (210, 310.1, 310.2, 310.3, 410.1, 410.2) connectable to at least one charging station (204, 304.1, 304.2, 304.3, 404.1), wherein the at least two charging subsystems (202.1, 302.1, 302.3, 302.3, 402.1, 402.2) differ from each other in the used authentication process and/or the accounting process wherein the at least two charging subsystems (202.1, 302.1, 302.3, 302.3, 402.1, 402.2) are networked by at least one peer-to-peer network (230, 330, 430, 630) comprising a plurality of nodes (236.1, 236.2, 236.3, 336, 436.1, 436.2), wherein a same peer-to-peer application (232, 332, 432, 532) is implemented on each node (236.1, 236.2, 236.3, 336, 436.1, 436.2), wherein the peer-to-peer application (232, 332, 432, 532) is a decentralized register or a shared database, the method comprising: - receiving a charging data set through a communication module (208, 308.1, 308.2, 308.3, 408.1, 408.2) of a gateway device (210, 310.1, 310.2, 310.3, 410.1, 410.2) from a charging station (204, 304.1, 304.2, 304.3, 404.1) assigned to the gateway device (210, 310.1, 310.2, 310.3, 410.1, 410.2), - forwarding the charging data set by a peer-to-peer module (238, 338.1, 338.2, 338.3, 438) assigned to the gateway device (210, 310.1, 310.2, 310.3, 410.1) to the peer-to-peer application (232, 332, 432, 532) of the peer-to-peer network (230, 330, 430, 630), and - controlling at least part of a roaming process by a roaming controlling means (234, 334, 434, 534) of the peer-to-peer application (232, 332, 432, 532) formed as a smart contract and executed by at least two of the nodes (236.1, 236.2, 236.3, 336, 436.1, 436.2) of the peer-to-peer network (230, 330, 430, 630) based on the received charging data set, - wherein the charging data set comprises at least one peer-to-peer identifier assigned to a user of a vehicle (454, 456) to be charged or discharged and/or a vehicle (454, 456) to be charged or discharged of a user, and - wherein a list of registered identifiers is stored in the peer-to-peer application and/or a storage arrangement controlled by the peer-to-peer application, - wherein controlling a roaming process comprises conducting an authentication action, wherein said peer-to-peer application comparing the at least one received peer-to-peer identifier with the stored identifiers in the identifier list. - receiving a charging data set through a communication module (208, 308.1, 308.2, 308.3, 408.1, 408.2) of a gateway device (210, 310.1, 310.2, 310.3, 410.1, 410.2) from a charging station (204, 304.1, 304.2, 304.3, 404.1) assigned to the gateway device (210, 310.1, 310.2, 310.3, 410.1, 410.2), - forwarding the charging data set by a peer-to-peer module (238, 338.1, 338.2, 338.3, 438) assigned to the gateway device (210, 310.1, 310.2, 310.3, 410.1) to the peer-to-peer application (232, 332, 432, 532) of the peer-to-peer network (230, 330, 430, 630), and - controlling at least part of a roaming process by a roaming controlling means (234, 334, 434, 534) of the peer-to-peer application (232, 332, 432, 532) formed as a smart contract and executed by at least two of the nodes (236.1, 236.2, 236.3, 336, 436.1, 436.2) of the peer-to-peer network (230, 330, 430, 630) based on the received charging data set, - wherein the charging data set comprises at least one peer-to-peer identifier assigned to a user of a vehicle (454, 456) to be charged or discharged and/or a vehicle (454, 456) to be charged or discharged of a user, and - wherein a list of registered identifiers is stored in the peer-to-peer application and/or a storage arrangement controlled by the peer-to-peer application, - wherein controlling a roaming process comprises conducting an authentication action, wherein said peer-to-peer application comparing the at least one received peer-to-peer identifier with the stored identifiers in the identifier list.