We propose a new surface representation, the Generalized B-spline (GBS) patch, that combines ribbon interpolants given in B-spline form. A GBS patch can connect to tensor-product B-spline surfaces with arbitrary Gm continuity. It supports ribbons not only along the perimeter loop, but also around holes in the interior of the patches.This is a follow-up paper of a recent publication (Várady et al., 2020) that described multi-sided Bézier surfaces over curved multi-sided domains. While the fundamental concept is retained, several new details have been elaborated. The weighting functions are modified to be products of B-spline and Bernstein basis functions, multiplied by rational terms. A new local parameterization method is introduced using harmonic functions, that handles periodic hole loops, as well. Interior shape control is adapted to the B-spline representation of the ribbons. Several examples illustrate the capabilities of the proposed scheme. Our implementation is based on a computationally efficient discretization.