There is an economic script for one faction. Using GrnEyedDevl's script replicator, you just change 'variable' for faction from your faction list and all. For slaves disband not needed, here 3 units types of disband, which you can change independently in EDU.
Code:monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 1500 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 2500 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 4000 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 6000 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 9000 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 13500 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor declare_counter treasury monitor_event PreFactionTurnStart FactionType variable and Treasury < 1500 set_counter treasury 1 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 2500 set_counter treasury 2 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 4000 set_counter treasury 3 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 6000 set_counter treasury 4 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 9000 set_counter treasury 5 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 13500 set_counter treasury 6 end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 1 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 2 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 3 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 4 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 5 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 6 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor monitor_event CharacterTurnEnd I_IsFactionAIControlled and AgentType = admiral and RemainingMPPercentage = 100 set_event_counter destroyinactive 1 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 1 destroy_units disband_3 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 2 destroy_units disband_4 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 3 destroy_units disband_5 end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 1500 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 2500 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 4000 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 6000 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 9000 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 13500 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor declare_counter treasury monitor_event PreFactionTurnStart FactionType variable and Treasury < 1500 set_counter treasury 1 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 2500 set_counter treasury 2 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 4000 set_counter treasury 3 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 6000 set_counter treasury 4 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 9000 set_counter treasury 5 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 13500 set_counter treasury 6 end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 1 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 2 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 3 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 4 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 5 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 6 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor monitor_event CharacterTurnEnd I_IsFactionAIControlled and AgentType = admiral and RemainingMPPercentage = 100 set_event_counter destroyinactive 1 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 1 destroy_units disband_3 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 2 destroy_units disband_4 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 3 destroy_units disband_5 end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 1500 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 2500 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 4000 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 6000 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 9000 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event PreFactionTurnStart FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and Treasury < 13500 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor declare_counter treasury monitor_event PreFactionTurnStart FactionType variable and Treasury < 1500 set_counter treasury 1 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 2500 set_counter treasury 2 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 4000 set_counter treasury 3 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 6000 set_counter treasury 4 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 9000 set_counter treasury 5 end_monitor monitor_event PreFactionTurnStart FactionType variable and Treasury < 13500 set_counter treasury 6 end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 1 and FactionIncome < 0 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 2 and FactionIncome < -500 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 3 and FactionIncome < -1000 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 4 and FactionIncome < -1750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 5 and FactionIncome < -2750 freeze_recruit_pool all true end_monitor monitor_event AddedToTrainingQueue FactionType variable and I_IsFactionAIControlled and not I_FactionBesieged variable and not IsCrusadeTargetFaction and not IsJihadTargetFaction and I_CompareCounter treasury = 6 and FactionIncome < -4000 freeze_recruit_pool all true end_monitor monitor_event CharacterTurnEnd I_IsFactionAIControlled and AgentType = admiral and RemainingMPPercentage = 100 set_event_counter destroyinactive 1 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 1 destroy_units disband_3 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 2 destroy_units disband_4 end_monitor monitor_event FactionTurnEnd FactionType variable and I_IsFactionAIControlled and Treasury < 0 and I_CompareCounter month == 3 destroy_units disband_5 end_monitor