GroupFolders: Copy Directory & Retain Advanced Permissions (or alternative options)

I’m working with a friend on his deployment and we are struggling to achieve something specific. We have a potential way of doing it that is not working, but are open to other ideas to accomplish the same thing if anyone has thoughts.

The goal:

Create folders and subfolders that are shared with groups that have different permissions by group and subfolder. For example:

Customers (groupfolder) [Group A Full Control, Group B No Access]
…Customer 1 (subfolder) [Group A Full Control, Group B No Access]
… …Contracts (sub-subfolder) [Group A Full Control, Group B No Access]
… …Service (sub-subfolder) [Group A Full Control, Group B Full Control]

This works flawlessly when we create the groupfolder and set the advanced permissions manually. The issue is that we need to copy this for every customer, and copying/duplicating the folder strips the advanced permissions, and they need to be set manually for each copied folder. This creates an administrative nightmare for both initial setup (though manageable) and for ongoing maintenance - how can we be sure the folders are set correctly and the Service group doesn’t have access to the contracts folders in every one of the many customer directories?

The short question is: How can we copy/duplicate a subfolder while retaining it’s advanced permissions and those of it’s sub-subfolders. This seems to be a limitation of groupfolders, but if anyone has thoughts on how to get around it, that would be helpful. I’d be open to scripting something, but the groupfolder occ commands (and api calls) all operate at the groupfolder level, not the subfolder level.

Longer question would be is there a better way? I suggested a user owning the folder and sharing it, but that doesn’t work because we can’t set the sub-subfolder sharing permissions differently from its parent, and if we manually shared all of them, it defeats the purpose (and doesn’t show up properly in a hierarchy).

Thoughts appreciated!

Thank you.