diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm
index 21cfd1fbad..b7f7f5f2d1 100644
--- a/code/game/objects/items/credit_holochip.dm
+++ b/code/game/objects/items/credit_holochip.dm
@@ -80,6 +80,17 @@
to_chat(user, "You insert the credits into [src].")
update_icon()
qdel(H)
+ if(istype(I, /obj/item/card/id))
+ var/obj/item/card/id/ID = I
+ if(!ID.registered_account)
+ to_chat(user, "[ID] doesn't have a linked account to deposit into!")
+ return
+ for(var/obj/item/holochip/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/stack/spacecash/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/coin/money in src.loc.contents)
+ ID.attackby(money, user)
/obj/item/holochip/AltClick(mob/user)
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm
index 954950f5e6..e2036835ce 100644
--- a/code/game/objects/items/stacks/cash.dm
+++ b/code/game/objects/items/stacks/cash.dm
@@ -33,6 +33,20 @@
. = ..()
update_desc()
+/obj/item/stack/spacecash/attackby(obj/item/W, mob/user, params)
+ . = ..()
+ if(istype(W, /obj/item/card/id))
+ var/obj/item/card/id/ID = W
+ if(!ID.registered_account)
+ to_chat(user, "[ID] doesn't have a linked account to deposit into!")
+ return
+ for(var/obj/item/holochip/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/stack/spacecash/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/coin/money in src.loc.contents)
+ ID.attackby(money, user)
+
/obj/item/stack/spacecash/c1
icon_state = "spacecash"
singular_name = "one credit bill"
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index 8bc9cc4512..26a3ca1b70 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -397,6 +397,17 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
else
to_chat(user, "You need one length of cable to attach a string to the coin!")
return
+ else if(istype(W, /obj/item/card/id))
+ var/obj/item/card/id/ID = W
+ if(!ID.registered_account)
+ to_chat(user, "[ID] doesn't have a linked account to deposit into!")
+ return
+ for(var/obj/item/holochip/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/stack/spacecash/money in src.loc.contents)
+ ID.attackby(money, user)
+ for(var/obj/item/coin/money in src.loc.contents)
+ ID.attackby(money, user)
else
..()