Automating revenue recognition