diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index 3fd02d43811..cec98e42b3e 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -431,15 +431,9 @@
if(istype(W, /obj/item/rupee))
to_chat(user, "Your ID smartly rejects the strange shard of glass. Who knew, apparently it's not ACTUALLY valuable!")
return
- else if(istype(W, /obj/item/holochip))
+ else if(iscash(W))
insert_money(W, user)
return
- else if(istype(W, /obj/item/stack/spacecash))
- insert_money(W, user, TRUE)
- return
- else if(istype(W, /obj/item/coin))
- insert_money(W, user, TRUE)
- return
else if(istype(W, /obj/item/storage/bag/money))
var/obj/item/storage/bag/money/money_bag = W
var/list/money_contained = money_bag.contents
@@ -463,7 +457,11 @@
* user - The user inserting the item.
* physical_currency - Boolean, whether this is a physical currency such as a coin and not a holochip.
*/
-/obj/item/card/id/proc/insert_money(obj/item/money, mob/user, physical_currency)
+/obj/item/card/id/proc/insert_money(obj/item/money, mob/user)
+ var/physical_currency
+ if(istype(money, /obj/item/stack/spacecash) || istype(money, /obj/item/coin))
+ physical_currency = TRUE
+
if(!registered_account)
to_chat(user, "[src] doesn't have a linked account to deposit [money] into!")
return
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index b9c5619e763..97c698b9973 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -1075,6 +1075,9 @@ GLOBAL_LIST_EMPTY(PDAs)
var/obj/item/photo/P = C
picture = P.picture
to_chat(user, "You scan \the [C].")
+ // Check to see if we have an ID inside, and a valid input for money
+ else if(id && iscash(C))
+ id.attackby(C, user) // If we do, try and put that attacking object in
else
return ..()
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index cc9051f04f0..8bfa86416da 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -548,6 +548,12 @@
to_chat(user, "You repair \the [src].")
return
+ var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
+ // Check to see if we have an ID inside, and a valid input for money
+ if(card_slot?.GetID() && iscash(W))
+ var/obj/item/card/id/id = card_slot.GetID()
+ id.attackby(W, user) // If we do, try and put that attacking object in
+ return
..()
// Used by processor to relay qdel() to machinery type.