pseudo code 
assuming your Entity class as 
@Entity(name="foo") 
class Data{
    @Id
    private String source_system_guid;
    @Column
    private String source_system;
    @Column
    private String customer_number;
    @Column
    private String source_receipt_number;
    public Data() {}
    public Data(String ssId, String sourceSystm, String custNum, String srcRcptNum) {
        this.source_system_guid = ssId;
        this.source_system = sourceSystm;
        this.customer_number = custNum;
        this.source_receipt_number = srcRcptNum;
    }
    public String getSource_system_guid() {
        return source_system_guid;
    }
    public void setSource_system_guid(String source_system_guid) {
        this.source_system_guid = source_system_guid;
    }
    public String getSource_system() {
        return source_system;
    }
    public void setSource_system(String source_system) {
        this.source_system = source_system;
    }
    public String getCustomer_number() {
        return customer_number;
    }
    public void setCustomer_number(String customer_number) {
        this.customer_number = customer_number;
    }
    public String getSource_receipt_number() {
        return source_receipt_number;
    }
    public void setSource_receipt_number(String source_receipt_number) {
        this.source_receipt_number = source_receipt_number;
    }
}
Now since your DTO/BO i.e. Data Transfer Object or Business Object is different from the actual entity we will create the required BO object as below 
class DataTO{
    @JsonProperty("process_ar_receipt")
    private ReceiptTO receiptTO=new ReceiptTO();       
    public ReceiptTO getReceiptTO() {
        return receiptTO;
    }
    public void setReceiptTO(ReceiptTO receiptTO) {
        this.receiptTO = receiptTO;
    }
}
class ReceiptTO{
    @JsonProperty("message_header")
    private MessageHeader messageHeder = new MessageHeader();
    @JsonProperty("receipt_header")
    private ReceiptHeader receiptHeder = new ReceiptHeader();
    public MessageHeader getMessageHeder() {
        return messageHeder;
    }
    public void setMessageHeder(MessageHeader messageHeder) {
        this.messageHeder = messageHeder;
    }
    public ReceiptHeader getReceiptHeder() {
        return receiptHeder;
    }
    public void setReceiptHeder(ReceiptHeader receiptHeder) {
        this.receiptHeder = receiptHeder;
    }  
}
class MessageHeader{
    @JsonProperty("source_System_Guid")
    private String sourceSystemId;
    @JsonProperty("system_Id")
    private String systemId;
    public String getSourceSystemId() {
        return sourceSystemId;
    }
    public void setSourceSystemId(String sourceSystemId) {
        this.sourceSystemId = sourceSystemId;
    }
    public String getSystemId() {
        return systemId;
    }
    public void setSystemId(String systemId) {
        this.systemId = systemId;
    }
}
class ReceiptHeader{
    @JsonProperty("customer_number")
    private String customerNumber;
    @JsonProperty("source_rcpt_number")
    private String sourceReceiptNumber;
    public String getCustomerNumber() {
        return customerNumber;
    }
    public void setCustomerNumber(String customerNumber) {
        this.customerNumber = customerNumber;
    }
    public String getSourceReceiptNumber() {
        return sourceReceiptNumber;
    }
    public void setSourceReceiptNumber(String sourceReceiptNumber) {
        this.sourceReceiptNumber = sourceReceiptNumber;
    }
}
The @JsonProperty annotation is imported from org.codehaus.jackson.annotate.JsonProperty; i.e from jackson jar
Now a Simple Test class to demo DTO/BO back and forth Entity conversion 
public class Test{
    public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
        List<Data> datas = new ArrayList<Data>();
        datas.add(new Data("DDED-DBCD-REV-E1F4343DB3434","MeSo_TravelAds","123","TESTRCPT_1523"));
        datas.add(new Data("ADED-EWQD-REV-E1F4343YG3434","FooSo_MusicAds","132","TESTRCPT_1523"));
        datas.add(new Data("YDED-YUTR-REV-E1F43UIDB3434","BarSo_HealthAds","143","TESTRCPT_1523"));
        List<DataTO> dataTOs = new ArrayList<DataTO>();
        for (Data data : datas) {
            DataTO dataTO = new DataTO();
            dataTO.getReceiptTO().getMessageHeder().setSourceSystemId(data.getSource_system_guid());
            dataTO.getReceiptTO().getMessageHeder().setSystemId(data.getSource_system());
            dataTO.getReceiptTO().getReceiptHeder().setCustomerNumber(data.getCustomer_number());
            dataTO.getReceiptTO().getReceiptHeder().setSourceReceiptNumber(data.getSource_receipt_number());
            dataTOs.add(dataTO);
        }
        ObjectMapper mapper = new ObjectMapper();
        String str = mapper.writeValueAsString(dataTOs);
        System.out.println(str);
    }
}
This will give you below result
[  
   {  
      "process_ar_receipt":{  
         "message_header":{  
            "source_System_Guid":"DDED-DBCD-REV-E1F4343DB3434",
            "system_Id":"MeSo_TravelAds"
         },
         "receipt_header":{  
            "customer_number":"123",
            "source_rcpt_number":"TESTRCPT_1523"
         }
      }
   },
   {  
      "process_ar_receipt":{  
         "message_header":{  
            "source_System_Guid":"ADED-EWQD-REV-E1F4343YG3434",
            "system_Id":"FooSo_MusicAds"
         },
         "receipt_header":{  
            "customer_number":"132",
            "source_rcpt_number":"TESTRCPT_1523"
         }
      }
   },
   {  
      "process_ar_receipt":{  
         "message_header":{  
            "source_System_Guid":"YDED-YUTR-REV-E1F43UIDB3434",
            "system_Id":"BarSo_HealthAds"
         },
         "receipt_header":{  
            "customer_number":"143",
            "source_rcpt_number":"TESTRCPT_1523"
         }
      }
   }
]
similarly the other conversion
    String input = "{  \r\n" + 
                    "      \"process_ar_receipt\":{  \r\n" + 
                    "         \"message_header\":{  \r\n" + 
                    "            \"source_System_Guid\":\"ADED-EWQD-REV-E1F4343YG3434\",\r\n" + 
                    "            \"system_Id\":\"FooSo_MusicAds\"\r\n" + 
                    "         },\r\n" + 
                    "         \"receipt_header\":{  \r\n" + 
                    "            \"customer_number\":\"132\",\r\n" + 
                    "            \"source_rcpt_number\":\"TESTRCPT_1523\"\r\n" + 
                    "         }\r\n" + 
                    "      }\r\n" + 
                    "   }";
            DataTO dataTO = mapper.readValue(input, DataTO.class);
            System.out.println(dataTO.getReceiptTO().getMessageHeder().getSourceSystemId());
            System.out.println(dataTO.getReceiptTO().getMessageHeder().getSystemId());
            System.out.println(dataTO.getReceiptTO().getReceiptHeder().getCustomerNumber());
System.out.println(dataTO.getReceiptTO().getReceiptHeder().getSourceReceiptNumber());
this will print 
ADED-EWQD-REV-E1F4343YG3434
FooSo_MusicAds
132
TESTRCPT_1523
You dont have to use the mapper code you can directly add the jackson converter as HttpMessageConverted which will convert the JSON to java object automatically 
@Configuration
@EnableWebMvc
public class WebConfiguration extends WebMvcConfigurerAdapter {
 ... other configurations
@Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        builder.serializationInclusion(JsonInclude.Include.NON_NULL);
        builder.propertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
        builder.serializationInclusion(Include.NON_EMPTY);
        builder.indentOutput(true).dateFormat(new SimpleDateFormat("yyyy-MM-dd"));
        converters.add(new MappingJackson2HttpMessageConverter(builder.build()));
        converters.add(new MappingJackson2XmlHttpMessageConverter(builder.createXmlMapper(true).build()));
    }
}