福途教育网
专业的教育资讯网站

当前位置:福途教育网 > 会计师 > 正文

房地产预缴增值税的账务处理

时间:2023/6/8 23:57:19 编辑:福途教育 标签:会计师

榜单说明:福途教育网榜单是编辑部门通过资料收集整理,并基于互联网大数据统计及人为根据市场和参数条件变化的分析而得出本站站内排序!排名不分先后,仅供参考,具体价格等信息以实地考察为准。

2024年【会计师】申请条件/费用/专业咨询 >>

会计师申请条件是什么?会计师费用是多少?会计师专业都有哪些?

点击咨询

    本文解答了关于《房地产预缴增值税分录》相关内容,同时关于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智能原创关于《

    房地产预缴增值税分录

    》优质内容解答希望能帮助到您。

以上手机版 房地产预缴增值税的账务处理 小编为您整理房地产预缴增值税的账务处理的全部内容,以上内容仅供参考。

点击查看 会计师 更多内容

热门推荐

最新文章