The harder part is that when you have to write the code, it's because your existing business relies on it, and you have interfaces defined by other systems.
So, to take the example: you set up the expenses handling with no code, it's easy, all good. Then halfway through next year, the OCR app starts charging $1 per scan (as a hypothetical). Now you have to write some code. But your accountant is waiting for your receipts, so you have a deadline for the coding. And your code has to use the Airtable API, because that's where the rest of your process takes off. That API might be a lot harder to use than, say, SQLite, which would be your choice if you were coding the system from scratch.
So the code you have to write has constraints from the rest of the process that still works, and a deadline. So it's harder to write.
So, to take the example: you set up the expenses handling with no code, it's easy, all good. Then halfway through next year, the OCR app starts charging $1 per scan (as a hypothetical). Now you have to write some code. But your accountant is waiting for your receipts, so you have a deadline for the coding. And your code has to use the Airtable API, because that's where the rest of your process takes off. That API might be a lot harder to use than, say, SQLite, which would be your choice if you were coding the system from scratch.
So the code you have to write has constraints from the rest of the process that still works, and a deadline. So it's harder to write.
That's what I meant by "makes it harder".