本文解答了关于《房地产预缴增值税分录》相关内容,同时关于1、房地产预缴增值税的账务处理,2、房地产预缴增值税计算案例,3、房地产预缴的增值税怎样抵扣回来,4、房地产预缴增值税计税依据,5、房地产预缴增值税的税率,的相关问答本篇文章福途教育网小编也整理了进来,希望对您有帮助。
房地产预缴增值税分录
PreAccountPoolTemplate preAccountPoolTemplate = preAccountPoolTemplateService.findByPriAccountCode("22210102");
if(preAccountPoolTemplate!=null){
preAccountEntry.setFsscCode(preAccountPoolTemplate.getFsscCode());
subject.add(preAccountPoolTemplate.getFsscCode());
}
}else{
throw new FsscException(FsscErrorType.REQUEST_PARAM_ERROR);
}
}else{
throw new FsscException(FsscErrorType.REQUEST_PARAM_ERROR);
}
preAccountEntry.setExplanation("房地产预缴增值税");
if(preAccountEntry.getDebitResourceId()!=null){
//借方
BudgetSubject subject2=budgetSubjectService.getById(preAccountEntry.getDebitResourceId());
if (subject2==null){
throw new FsscException(FsscErrorType.BUDGET_SUBJECT_NOT_FIND);
}
preAccountEntry.setDebitResourceCode(subject2.getCode());
preAccountEntry.setDebitResourceName(subject2.getName());
preAccountEntry.setDebitUnitName(subject2.getUnitName());
if(StringUtil.isNotEmpty(subject2.getCurrencyCode())){
preAccountEntry.setCurrencyCode(subject2.getCurrencyCode());
}
}
if(!subject.isEmpty()){
List lines = preAccountLineService.QureyPreAccountLineBySubject(subject);
if(CollectionUtil.isNotEmpty(lines)){
if(lines.get(0).getFsscCode().equals(preAccountEntry.getFsscCode())){
throw new FsscException(FsscErrorType.SAME_SUBJECT_WRONG);
}
preAccountEntry.setReservedFund(lines.stream().map(PreAccountLine::getReservedFund).reduce(BigDecimal::add).get());
preAccountEntry.setNotReservedFund(lines.stream().map(PreAccountLine::getNotReserverdFund).reduce(BigDecimal::add).get());
}
}
}
updateById(baseBudgetAccount);
preAccountEntryService.addOrUpdateBatch(entries);
return success();
}
@Override
public void removeByIds(List idList) {
if (CollUtil.isEmpty(idList)) {
throw new FsscException(FsscErrorType.NOT_FIND_DATA);
}
List preAccountLineIDList = new ArrayList<>();
for (Long id : idList) {
BaseBudgetAccount baseBudgetAccount = getOneAccount(id);
if (baseBudgetAccount==null){
continue;
}
if (baseBudgetAccount.getStatus() == documentStatus) {
throw new FsscException(FsscErrorType.REMOVE_ACCOUNT_ALREADY_START);
}
List preAccountEntries = preAccountEntryService.listByAccountId(baseBudgetAccount.getId());
for (PreAccountEntry preAccountEntry : preAccountEntries) {
if (preAccountEntry.getReservedFund().endingWith(BigDecimal.ZERO)
&& preAccountEntry.getNotReserverdFund().endingWith(BigDecimal.ZERO)) {
preAccountLineIDList.add(preAccountEntry.getId());
continue;
}
throw new FsscException(FsscErrorType.FUND_NOT_ZERO);
}
removeById(baseBudgetAccount);
if(preAccountLineIDList!=null && preAccountLineIDList.size()>0) {
preAccountEntryService.removeByIds(preAccountLineIDList);
}
}
}
@Override
@Transactional(rollbackFor = RuntimeException.class)
public Result startAccount(Long id) {
BaseBudgetAccount accountId = getOneAccount(id);
if (accountId == null){
return Result.fail("未找到数据");
}
if(accountId.getStatus().equals(documentStatus)){
return Result.fail("已开启");
}
accountId.setStatus(documentStatus);
updateById(accountId);
return Result.success("开启成功");
}
@Override
@Transactional(rollbackFor = RuntimeException.class)
public Result finishAccount(Long id) {
BaseBudgetAccount baseBudgetAccount = getOneAccount(id);
if (baseBudgetAccount == null){
return Result.fail("未找到数据");
}
if(!baseBudgetAccount.getStatus().equals(documentStatus)){
return Result.fail("未开启,不可结束");
}
baseBudgetAccount.setStatus(documentFinish);
updateById(baseBudgetAccount);
return Result.success("结束成功");
}
}
总结:以上是编辑:【玲珑紫雅】整理及AI智能原创关于《房地产预缴增值税分录
》优质内容解答希望能帮助到您。